Witajcie
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ć.
echo "<div class=\"reload_3\">"; echo "<div class=\"hdd\">"; echo "<div class=\"info huge\">Ustawienia Dysków</div>"; 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) {
echo "<input type=\"hidden\" name=\"dvr_sata_port\" value=\"" . $i . "\">"; echo "<select id=\"set_hdd_on_dvr_port\" class=\"select\" name=\"hdd_id\">"; echo "<option value=\"\" data-display=\"Wybierz Dysk\">Wybierz Dysk</option>"; 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 {
echo "<span class=\"value\">Brak dostępnych dysków</span>"; }
}
}
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);
});
};
Ten post edytował topcio 27.03.2018, 21:00:37