Javascript 知道选中的复选框(如果它是动态创建的)-Django
当我点击一个按钮时,我试图知道选中了什么Javascript 知道选中的复选框(如果它是动态创建的)-Django,javascript,jquery,html,Javascript,Jquery,Html,当我点击一个按钮时,我试图知道选中了什么复选框。问题是,在我的模板中,复选框是使用循环动态创建的 html <form action="#" method="post" target="#"> {% for node in Last_val_nodes %} <input type="checkbox" class="nodeRuta" name="{{node.0}}">{{node.0}}<br> {% endfor %}
复选框。问题是,在我的模板中,复选框是使用循环
动态创建的
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>
Last\u val\u nodes
是一个类似于[['node1',1,2],'node2',4,5],'node3',7,8]
的列表,在我的代码中,警报总是显示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);
});
还有一个问题,如果我只想勾选一个复选框?也就是说,不允许多选择一个,可以用这个代码吗?(如果很难或很长时间不用担心)非常感谢。在这种情况下,请使用单选按钮,而不是复选框
$('#filtrar_btn_map').click(function() {
var values = $(".nodeRuta:checked").map(function() {
return this.name;
}).get();
console.log(values);
});