我正在制作一个包含提交表单的网页,您可以在其中提交多个时间段。在每个期间,您可以在单击复选框时添加额外注释。这适用于1个句点,但是当我在jQuery中使用.clone()添加更多句点时,它会改变所有复选框。
我该如何解决这个问题?
答案 0 :(得分:1)
你在javascript代码中有一些错误。
首先,您必须仅为该部分显示/隐藏文本框。为此,您可以使用jQuery的closest()
和find()
方法。
其次,当检查checked属性时,最好使用$(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();
}
});
});