簡體   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