Javascript, обрабатывающий несколько флажков

0

Я создаю веб-страницу с формой отправки, где вы можете отправить несколько периодов времени. В каждый период вы можете добавлять дополнительные комментарии при нажатии на флажок. Это работает отлично в течение 1 периода, но когда я добавляю больше периодов с.clone() в jQuery, он изменяет все флажки.

Как мне решить эту проблему?

  • 1
    Без некоторого кода и некоторой разметки мы бы только додумались до решения вашей проблемы. Можете ли вы предоставить некоторые из этого? Может быть, jsfiddle?
  • 0
    Показать выбранный вами HTML и выбранные вами jQuery.
Показать ещё 1 комментарий
Теги:
forms
checkbox

1 ответ

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

У вас есть ошибки в javascript-кодах. Во-первых, вам нужно показать/скрыть текстовое поле только для этого раздела. Для этого вы можете использовать методы closeest closest() и find() для jQuery. Во-вторых, при проверке проверяемого свойства лучше использовать $ (this) для jQuery, потому что javascript это что-то другое. Наконец, при клонировании элемента вы должны использовать true параметр, если хотите также клонировать действия элементов.

Рабочие коды:

$( document ).ready(function() {
    $("#tijdstiptoevoegen").on( "click", function(e){
        e.preventDefault();
          $( ".tijdstip" ).clone(true).appendTo( ".tijdstippen" );
    });

    $(".chkUitleg").on("change",function() {
        if($(this).is(":checked")) {
        $(this).closest(".tijdstip").find(".verdere_uitleg").show();
    }
    else
    {
        $(this).closest(".tijdstip").find(".verdere_uitleg").hide();
    }
});
  });
  • 0
    Оно работает! Большое спасибо!
  • 0
    Однако, когда я нажимаю на кнопку «добавить тейдстип» во второй раз, я получаю 2 тиджстиппа вместо 1.
Показать ещё 1 комментарий

Ещё вопросы

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