如何获取标签名称作为 Django 模板中选中/选中复选框的值

Posted

技术标签:

【中文标题】如何获取标签名称作为 Django 模板中选中/选中复选框的值【英文标题】:How to get the label name as value for the selected/checked checkboxes in Django template 【发布时间】:2016-04-25 23:38:36 【问题描述】:

在 django 模板中,我有一个模式,它会在点击跨度时弹出。

 <div class="modal-body">
     <form action="#">
         <fieldset>
             <legend>Please Select Your Option</legend>
                 <p><label style="font-size:15px;"><input type="checkbox" style="margin-right:5px;" id="selectAll"/>Select All</label></p>
              <div id="options">                  
                    % for data in allData %
   <p><label style="font-size:15px;" for=data><input type="checkbox" style="margin-right:5px;" value=data/>option</label></p>
             % endfor %
        <div>
         </fieldset>
     </form>
</div>

我看到了很多示例,并了解到使用 ids 我可以访问每个复选框的 value 属性。但是在这种情况下,我真的很困惑,因为复选框的数量是动态的。

我想访问标签名称作为值。有什么帮助吗?

编辑:

var allVals = [];
$('#options :checked').each(function() 
       allVals.push($(this).val());
);
console.log(allVals);

我使用这个 jquery 代码来获取值,但它没有返回完整的值,就像我在代码中所做的那样(将标签名称放在 value 属性中)。

例如。如果选项显示:

a,b,c,d

它返回具有 [a] 的数组。

【问题讨论】:

你想要标签文本吗?? 【参考方案1】:
    <html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>

<script>

    $(document).ready(function()


        // for delete row
        $('#container').on('click', 'input[type="checkbox"]', function () 
            alert($(this).closest('label').text());
        );

        $('#btnAdd').click(function () 
            iCounter=$('#container p').siblings().length + 1
            $('#container').append('<p><label style="font-size:15px;" for="test1"><input type="checkbox" style="margin-right:5px;" value="test1"/>sample' + iCounter + '</label></p>');

        );



    );
</script>
</head>
<body>
    <button id="btnAdd">Add Data</button>
    <div class="modal-body">
     <form action="#">
         <fieldset>
             <legend>Please Select Your Option</legend>
                 <p><label style="font-size:15px;"><input type="checkbox" style="margin-right:5px;" id="selectAll"/>Select All</label></p>
             <div id="container">

             <p><label style="font-size:15px;" for="test1"><input type="checkbox" style="margin-right:5px;" value="test1"/>sample</label></p>

            </div>
         </fieldset>
     </form>
</div>
</body>
</html>

【讨论】:

没有。的复选框处于循环中,即是动态的。

以上是关于如何获取标签名称作为 Django 模板中选中/选中复选框的值的主要内容,如果未能解决你的问题,请参考以下文章

Django模板,向模板标签发送两个参数?

Django-Template:在标签块中获取变量!

Django:如何使用模板变量和 url 标签

Django 模板大纲

如何在 django 模板中获取站点名称?

Django模板如何使用标签和模板过滤器从json dict中获取数据