Изменить значение динамически созданного тд на внешнем событии

0

У меня есть следующий код.

html += '<tr id="product_row_scheduled_'+key+'">';
html += '<td class="title">'+image_path+' '+product_row.title+'</td>';
html += '<td class="text-center" id="sch_product_posted_'+key+'"> '+product_row.user_set_time+'</td>';
html += '<td class="text-center"><a href="#" id="schedule_'+key+'" onClick="schedule_product(\''+key+'\',\''+product_row.title+'\',\''+product_row.user_set_time+'\')"> Schedule</a></td>';
html += '<td class="text-center"><a href="#" onClick="cancel_schedule(\''+key+'\')"> Cancel</a></td>';
html += '</tr>';

это создается с использованием данных json. теперь функция schedule_product изменяет значение sch_product_posted_'+key+' используя datetimepicker.

Я попытался использовать

$('#product_row_scheduled_'+key).on('change', '.product_posted_'+key+'',function(){
   console.log($('.product_posted_'+key+'').html());
});

но он не работает. Любая помощь будет назначена.

  • 0
    Почему вы не используете общий класс для привязки событий, а затем для обхода DOM?
  • 0
    просто используйте «.product_posted _» + ключ вместо «.product_posted _» + key + ''
Показать ещё 2 комментария
Теги:
datetimepicker

1 ответ

0
Лучший ответ

Используйте # для ids например,

$('#product_row_scheduled_'+key).on('change', '#sch_product_posted_'+key,function(){
                                  // ----------^ # in place of .
    console.log($(this).html());// use this here
});

Использование class вместо id было бы простым,

$(document).on('change', '.sch_product_posted',function(){
    console.log($(this).html());
});

Добавить класс sch_product_posted в column

Обновленное change не будет работать с DOMSubtreeModified,

$(document).on('DOMSubtreeModified','.sch_product_posted', function(event){
    console.log('Html: '+$(this).html());
});

Рабочая демонстрация

  • 0
    все еще не повезло. Я добавил класс sch_product_posted в столбец и обновил код jquery, но он не работает.
  • 0
    Как changing ваша колонка? Обратите внимание, что вы хотите применить change event к столбцу. Вы можете проверить, работает он или нет, используя click event в вашем column .
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню