当我点击一个按钮时,我想知道选择了什么 checkbox
。问题是复选框是在我的模板中使用 for 循环
动态创建的。
html
<form action="#" method="post" target="#">
{% for node in Last_val_nodes %}
<input type="checkbox" class="nodeRuta" name="{{node.0}}">{{node.0}}<br>
{% endfor %}
</form>
JS
$('#filtrar_btn_map').click(function(){
if( $(".nodeRuta").is(':checked') ) {
var node = $(".nodeRuta").attr("name");
alert(node);
}
});
Last_val_nodes
是一个类似于 [['node1',1,2],['node2',4,5],['node3',7,8]]
在我的代码中,alert
始终显示 node1
,无论选中哪个复选框。
我尝试使用 var node = $(this).attr("name");
但它也不起作用。有人可以帮帮我吗?
非常感谢。
最佳答案
您需要使用 :checked
选择器和 length
来查找是否任何复选框已被选中。
也就是说,根据您的需要,直接遍历所有选中的项目会更有意义:
$('#filtrar_btn_map').click(function() {
$(".nodeRuta:checked").each(function() {
var node = this.name;
console.log(node);
}
});
或者您可以使用 map()
构建所选值的数组:
$('#filtrar_btn_map').click(function() {
var values = $(".nodeRuta:checked").map(function() {
return this.name;
}).get();
console.log(values);
});
关于javascript - 如果它是动态创建的,则知道选中的复选框 - Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59119551/