Natrafiłem na problem tego typu, iż
mam pewnego diva w którym jest klika elementów (select) korzystających ze skryptu zmieniającego domyślny styl select na inny.
jest to lista
ELEMENT A -> guzik zatwierdź
ELEMENT B -> guzik zatwierdź
ELEMENT C -> guzik zatwierdź
ELEMENT D -> guzik zatwierdź
po wybraniu z listy i zatwierdzeniu zmian na którymkolwiek elemencie przeładowuje diva, aby w pozostałych selectach zaktualizowały się dane.
Problem w tym że po przeładowaniu przestaje działać styl select zasysany z pliku .js a w jego miejsce wskakuje zwykły select.
Czy można to jakoś naprawić.
for($i = $dvr_data['dvr_sata_port_quantity'] - $dvr_data['dvr_sata_port_quantity'] + 1; $i <= $dvr_data['dvr_sata_port_quantity']; $i++) { $hdd_object = $hdd->get_not_connected_hdd(); $hdd_on_dvr_port = $hdd->get_specific_hdd($dvr_data['dvr_id'], $i); if ($hdd_on_dvr_port != NULL) { echo "<div><span class=\"key right\">HDD SATA Port " . $i . "</span><span class=\"dash\">-</span><span class=\"value\">" . $hdd_on_dvr_port['hdd_capacity'] . "TB " . $hdd_on_dvr_port['hdd_vendor'] . " - SN ➜ " . $hdd_on_dvr_port['hdd_sn'] . "</span><span class=\"dash\"></span><span class=\"untouch\">Odłącz Dysk</span></div>"; } else { echo "<div id=\"hdd_form_id_" . $i . "\"><span class=\"key right\">HDD SATA Port " . $i . "</span><span class=\"dash\">-</span>"; if ($hdd_object != null) { foreach ($hdd_object as $hdd_object) { echo "<option value=\"" . $dvr->encrypt_decrypt_passwd('encrypt', $dvr->encrypt_decrypt_passwd('encrypt', $hdd_object['hdd_id'])) . "\">" . $hdd_object['hdd_capacity'] . " TB - " . $hdd_object['hdd_vendor'] . " - " . $hdd_object['hdd_sn'] . "</option>"; } echo "<span class=\"dash\"></span><input type=\"submit\" value=\"Podłącz Dysk\" class=\"touch\" id=\"" . $i . "\" onclick=\"return touchHDD(this);\">"; } else { } } }
function touchHDD(elem) { $("#overlay").fadeIn(250); var dvr_id = $("#dvr_get_data").attr('dvr_id'); var data = $(elem).parents('form').serializeArray(); data.push({ name: "ajax_test", value: "touch_hdd" }); data.push({ name: "dvr_id", value: dvr_id }); console.log(data); var touch_hdd = $.ajax({ type: "POST", cache: false, url: "../php_function/dvr/dvr.php", data: $.param(data) }); $.when(touch_hdd).done( async function(response) { if ($('#message').hasClass("error_message")) { $('#message').removeClass("error_message"); await sleep(750); $('#message').removeAttr( 'style' ); } $('#message').attr( 'style', 'color: greenyellow' ); $('#message').addClass("error_message"); $(".reload_3").load(location.href + " .hdd"); console.log(response); $( '#message' ).html($.parseJSON(response)); await sleep(750); $("#overlay").fadeOut(250); }); };