Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 知道选中的复选框(如果它是动态创建的)-Django_Javascript_Jquery_Html - Fatal编程技术网

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);
});