JQuery .remove () работает только на первой странице перед функцией показа - PullRequest
0 голосов
/ 31 марта 2020

Я использую следующий код для удаления строк статистики таблицы.

$(document).on('pagebeforeshow', '#statistics_page', function(){
  $('#stats').find("tr:gt(1)").remove();
  somefunction();

  $('input[type=radio][name=stats_select]').change(function() {
    if (this.value == '1') {
      $('#stats').find("tr:gt(1)").remove();
      somefunction();
    }
    if (this.value == '2') {
        $('#stats').find("tr:gt(1)").remove();
        anotherfunction()
    }
 });
});

, но функция удаления работает только на первой странице выше. Во второй раз новые строки таблицы добавляются в eng таблицы.

1 Ответ

0 голосов
/ 31 марта 2020

Переместите код для последующих изменений за пределы события pagebeforeshow и используйте .on listener:

$(document).on('pagebeforeshow', '#statistics_page', function(){
  $('#stats').find("tr:gt(1)").remove();
  somefunction();  
});

$('input[type=radio][name=stats_select]').on("change", function() {
    if (this.value == '1') {
      $('#stats').find("tr:gt(1)").remove();
      somefunction();
    }
    if (this.value == '2') {
        $('#stats').find("tr:gt(1)").remove();
        anotherfunction()
    }
});
...