Данные не добавляются во второй раз - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу отображать данные по нажатию иконки.Данные отображаются в первый раз, но не отображаются во второй раз.Я добавляю данные к элементу $('body').

my view.js.html.erb равен

$(".view-schemes").live('click', function(e) {
    var schemes_url = "<%= show_schemes_products_path %>";
    var p_id = $(this).attr('id');
    get_data(schemes_url, { id: p_id }, function(data) {
      $('body').append(data);
    },"html");
  });

И я получаю данные во второй раз, но данные не добавляютсяк телу.Есть ли решение или альтернативный способ написания этого запроса?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

прежде всего используйте текущую версию jQuery.

$(".view-schemes").live('click', function(e) {
...

можно изменить, чтобы поймать элемент более гибким

$('body').on('click', '.view-schemes', function(e) {
...

это помогает, когда элемент будет добавлен послестраница загружена.

0 голосов
/ 21 ноября 2018

Попробуйте создать новый div с id="appended_div" внутри body.и добавляйте данные в присоединенный div каждый раз при нажатии .view-schemes.После внесения изменений ваш JS-код будет выглядеть следующим образом:

$(".view-schemes").live('click', function(e) {
    var schemes_url = "<%= show_schemes_products_path %>";
    var p_id = $(this).attr('id');
    get_data(schemes_url, { id: p_id }, function(data) {
      $('#appended_div').empty();
      $('#appended_div').append(data);
    },"html");
  });

Надеюсь, это решит вашу проблему.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...