繁体   English   中英

如果它是动态创建的,则知道选中的复选框 - Django

[英]Know the checkbox selected if it created dynamically - Django

当我单击一个按钮时,我想知道选中了哪个checkbox 问题是复选框是在我的模板中使用for loop动态创建的。

网页格式

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM