Код Javascript не работает в браузере Firefox

#javascript #ruby-on-rails

#javascript #ruby-on-rails

Вопрос:

Если я выберу 20 записей и нажму кнопку «Далее», а затем вернусь на эту страницу, используя кнопку «Назад» в браузерах, она должна отображать 20 и 20 записей. должны отображаться. Этот код JavaScript работает в Chrome. Но это не работает в Firefox.

В Firefox происходит отображение значения, и записи сбрасываются до 5

 $(window).on('load', function() {
  var value = $('#display :selected').val();
  var v = parseInt(value);
  var lp = (5 * v)   1;
  $("tr.top-per").addClass("hidden");
  for (i = 1; i <= (lp   4); i  ) {
    $("tr#row-"   i).removeClass("hidden");
  }
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="custom-select" id="display">
  <option value="0" selected>Display: 5</option>
  <option value="1">Display: 10</option>
  <option value="2">Display: 15</option>
  <option value="3">Display: 20</option>
</select>  

Комментарии:

1. можете ли вы предоставить скрипку?

2. Вы получаете какие-либо ошибки на консоли?

3. Нет, в консоли нет ошибки. Данные сбрасываются обратно до 5 записей

4. @KaanCetinkaya Страница отображается непосредственно браузером. Могу ли я каким-либо образом заставить его работать во всех браузерах

Ответ №1:

Можете ли вы попробовать это, я добавил параметр события в функцию и event.preventDefault();

 $(window).on('load', function(event) {
  event.preventDefault();
  var value = $('#display :selected').val();
  var v = parseInt(value);
  var lp = (5 * v)   1;
  $("tr.top-per").addClass("hidden");
  for (i = 1; i <= (lp   4); i  ) {
    $("tr#row-"   i).removeClass("hidden");
  }
});
  

Комментарии:

1. проверено добавление event.preventDefault(); но он не работает. Дисплей сбрасывается обратно на 5. при нажатии кнопки возврата браузера выбирается первое значение