Javascript 如何在append-JQuery之后增加复选框id
我有一个默认的复选框,其他复选框将在我单击“添加”按钮后出现。我需要检查是否选中了复选框。但这里的问题是,我的jquery只对默认复选框有效。代码如下: HTML:Javascript 如何在append-JQuery之后增加复选框id,javascript,jquery,html,Javascript,Jquery,Html,我有一个默认的复选框,其他复选框将在我单击“添加”按钮后出现。我需要检查是否选中了复选框。但这里的问题是,我的jquery只对默认复选框有效。代码如下: HTML: <form_answer> <input type="hidden" class ="" id="correct_hidden" name="correct_hidden[][correct]" value="0"/> <input type="checkbox" class ="
<form_answer>
<input type="hidden" class ="" id="correct_hidden" name="correct_hidden[][correct]" value="0"/>
<input type="checkbox" class ="" id="correct" name="correct[][correct]"/>
<button class="" id = "btn_add"> Add</button>
</form_answer>
<script>
$(document).ready(function(){
$('#btn_add').click(function(){
add_row();
});
});
function add_row(){
var id = $("#row").val();
id++;
var html = '<div class=""> ' +
'<input type="hidden" class ="" id="correct_hidden" name="correct_hidden[][correct]" value="0"/> ' +
'<input type="checkbox" class ="" id="correct" name="correct[][correct]"/>' +
'</div>' ;
$("form_answer").append(html);
$("#row").val(id);
}
$(document).ready(function(){
$("#correct").click(function () {
if ($(this).prop("checked")) {
$("#correct_hidden").val("1");
}else{
$("#correct_hidden").val("0");
}
});
});
</script>
添加
JS:
<form_answer>
<input type="hidden" class ="" id="correct_hidden" name="correct_hidden[][correct]" value="0"/>
<input type="checkbox" class ="" id="correct" name="correct[][correct]"/>
<button class="" id = "btn_add"> Add</button>
</form_answer>
<script>
$(document).ready(function(){
$('#btn_add').click(function(){
add_row();
});
});
function add_row(){
var id = $("#row").val();
id++;
var html = '<div class=""> ' +
'<input type="hidden" class ="" id="correct_hidden" name="correct_hidden[][correct]" value="0"/> ' +
'<input type="checkbox" class ="" id="correct" name="correct[][correct]"/>' +
'</div>' ;
$("form_answer").append(html);
$("#row").val(id);
}
$(document).ready(function(){
$("#correct").click(function () {
if ($(this).prop("checked")) {
$("#correct_hidden").val("1");
}else{
$("#correct_hidden").val("0");
}
});
});
</script>
$(文档).ready(函数(){
$('#btn_add')。单击(函数(){
添加_行();
});
});
函数add_row(){
var id=$(“#行”).val();
id++;
var html=''+
' ' +
'' +
'' ;
$(“表格回答”)。附加(html);
$(“#行”).val(id);
}
$(文档).ready(函数(){
$(“#正确”)。单击(函数(){
如果($(this).prop(“选中”)){
$(“更正隐藏”).val(“1”);
}否则{
$(“更正隐藏”).val(“0”);
}
});
});
上面的脚本仅适用于默认复选框。我需要脚本来处理所有新的append复选框。我怎样才能解决这个问题 Id在Html中应该是唯一的。所以把这个改成一个类。此外,您正在向DOM添加新元素。因此,您应该在文档而不是元素本身上添加eventlistener 删除id并将其放入课堂:
<input type="checkbox" class ="correct" id="" name="correct[][correct]"/>
Id在Html中应该是唯一的。所以把这个改成一个类。此外,您正在向DOM添加新元素。因此,您应该在文档而不是元素本身上添加eventlistener 删除id并将其放入课堂:
<input type="checkbox" class ="correct" id="" name="correct[][correct]"/>
您可以将以前的值
id
存储为局部变量,如下所示
var id=0;
$(文档).ready(函数(){
$('#btn_add')。单击(函数(){
添加_行();
});
});
函数add_row(){
id++;
var html=''+
' ' +
'' +
'' ;
$(“表格回答”)。附加(html);
console.log(“Id值:”+Id);
}
添加
您可以将以前的值id
存储为局部变量,如下所示
var id=0;
$(文档).ready(函数(){
$('#btn_add')。单击(函数(){
添加_行();
});
});
函数add_row(){
id++;
var html=''+
' ' +
'' +
'' ;
$(“表格回答”)。附加(html);
console.log(“Id值:”+Id);
}
添加
一个问题是所有复选框都具有相同的id-正确。您必须使每个复选框具有不同的id。然后,由于所有其他复选框都是动态添加的,因此初始单击处理程序将不会附加到它们。正如Ivan所说,你需要使用“on”。你的意思是不要使用。单击,我应该使用。on?作为一件事。使用“on”的想法是,您可以为尚未创建的元素添加侦听器。然后你应该考虑让复选框ID是唯一的。我应该使用ID的增量号吗?像$i?一个问题是所有复选框都有相同的id-正确。您必须使每个复选框具有不同的id。然后,由于所有其他复选框都是动态添加的,因此初始单击处理程序将不会附加到它们。正如Ivan所说,你需要使用“on”。你的意思是不要使用。单击,我应该使用。on?作为一件事。使用“on”的想法是,您可以为尚未创建的元素添加侦听器。然后你应该考虑让复选框ID是唯一的。我应该使用ID的增量号吗?像$i?这很好,但问题是选中复选框时,值不会从0更改为1。id已经增加。这很好,但问题是选中复选框时,值没有从0更改为1。id已增加。已理解,但即使我从使用id更改为类,id仍然不是唯一的。对吗?你有删除id的权限。要选择复选框仍然很简单,给他们一个类。(实际上你不需要id)我做了编辑。类不会是唯一的不,但这是一个问题吗?我不能触摸类区域,因为它是定制的。我设法使id增加,只是jquery在append复选框上不起作用。我计划在循环中创建jquery,但不知道如何实现。如果我不使用类,而是使用“input[type=checkbox]”之类的类型,这是一样的。明白了,但即使我从使用id更改为使用类,id仍然不是唯一的。对吗?你有删除id的权限。要选择复选框仍然很简单,给他们一个类。(实际上你不需要id)我做了编辑。类不会是唯一的不,但这是一个问题吗?我不能触摸类区域,因为它是定制的。我设法使id增加,只是jquery在append复选框上不起作用。我计划在循环中创建jquery,但不知道如何实现。如果我使用类似“input[type=checkbox]”的类型,而不是使用类,那也是一样的,对吗?