Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax - load problem
topcio
post 27.03.2018, 21:00:01
Post #1





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


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ć.

  1. echo "<div class=\"reload_3\">";
  2. echo "<div class=\"hdd\">";
  3. echo "<div class=\"info huge\">Ustawienia Dysków</div>";
  4. for($i = $dvr_data['dvr_sata_port_quantity'] - $dvr_data['dvr_sata_port_quantity'] + 1; $i <= $dvr_data['dvr_sata_port_quantity']; $i++) {
  5. $hdd_object = $hdd->get_not_connected_hdd();
  6. $hdd_on_dvr_port = $hdd->get_specific_hdd($dvr_data['dvr_id'], $i);
  7. if ($hdd_on_dvr_port != NULL) {
  8. 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>";
  9. }
  10. else {
  11. echo "<form>";
  12. echo "<div id=\"hdd_form_id_" . $i . "\"><span class=\"key right\">HDD SATA Port " . $i . "</span><span class=\"dash\">-</span>";
  13. if ($hdd_object != null) {
  14. echo "<input type=\"hidden\" name=\"dvr_sata_port\" value=\"" . $i . "\">";
  15. echo "<select id=\"set_hdd_on_dvr_port\" class=\"select\" name=\"hdd_id\">";
  16. echo "<option value=\"\" data-display=\"Wybierz Dysk\">Wybierz Dysk</option>";
  17. foreach ($hdd_object as $hdd_object) {
  18. 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>";
  19. }
  20. echo "</select>";
  21. echo "";
  22. echo "<span class=\"dash\"></span><input type=\"submit\" value=\"Podłącz Dysk\" class=\"touch\" id=\"" . $i . "\" onclick=\"return touchHDD(this);\">";
  23. }
  24. else {
  25. echo "<span class=\"value\">Brak dostępnych dysków</span>";
  26. }
  27. echo "</div>";
  28. echo "</form>";
  29. }
  30. }
  31. echo "</div>";
  32. echo "</div>";


[JAVASCRIPT] pobierz, plaintext
  1. function touchHDD(elem) {
  2. $("#overlay").fadeIn(250);
  3. var dvr_id = $("#dvr_get_data").attr('dvr_id');
  4. var data = $(elem).parents('form').serializeArray();
  5. data.push({ name: "ajax_test", value: "touch_hdd" });
  6. data.push({ name: "dvr_id", value: dvr_id });
  7. console.log(data);
  8. var touch_hdd = $.ajax({
  9. type: "POST",
  10. cache: false,
  11. url: "../php_function/dvr/dvr.php",
  12. data: $.param(data)
  13. });
  14. $.when(touch_hdd).done( async function(response) {
  15. if ($('#message').hasClass("error_message")) {
  16. $('#message').removeClass("error_message");
  17. await sleep(750);
  18. $('#message').removeAttr( 'style' );
  19. }
  20. $('#message').attr( 'style', 'color: greenyellow' );
  21. $('#message').addClass("error_message");
  22.  
  23.  
  24. $(".reload_3").load(location.href + " .hdd");
  25. console.log(response);
  26. $( '#message' ).html($.parseJSON(response));
  27. await sleep(750);
  28. $("#overlay").fadeOut(250);
  29. });
  30. };
[JAVASCRIPT] pobierz, plaintext


Ten post edytował topcio 27.03.2018, 21:00:37
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.05.2024 - 05:27