如何检查 Django 生成的多个复选框的状态?
Posted
技术标签:
【中文标题】如何检查 Django 生成的多个复选框的状态?【英文标题】:How to check status of Django generated multiple checkbox? 【发布时间】:2013-08-21 13:00:28 【问题描述】:我想知道如何使用 jQuery 从基于 Django 的多个复选框中保存选定选项的名称?似乎我无法选择复选框组...有人可以就我的代码给我建议吗?谢谢!
jsfiddle example
html 代码
<table class="tab_model">
<tbody>
<tr>
<th>
<label for="id_model_0">Model:</label>
</th>
<td>
<ul>
<li>
<label for="id_model_0">
<input type="checkbox" name="model" value="A" id="id_model_0">Model A</label>
</li>
<li>
<label for="id_model_1">
<input type="checkbox" name="model" value="B" id="id_model_1">Model B</label>
</li>
<li>
<label for="id_model_2">
<input type="checkbox" name="model" value="C" id="id_model_2">Model C</label>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<input class="submit" type="submit" value="Submit">
jQuery
var allVals = [];
$('.submit').click(function ()
$('input[id^="id_model_"] :checked').each(function ()
allVals.push($(this).val());
);
alert(allVals);
);
【问题讨论】:
$('input[name="model"]')
?
想通了。我认为一个额外的空间`:checked`会杀死jQuery...
@Ariane 您的方法在删除空间后也有效。谢谢!
【参考方案1】:
我会给这些盒子一个类,比如class='the_checkboxes'
然后使用:
$(".the_checkboxes:checkbox:checked").each(function()(
allVals.push($(this).val());
);
它会更干净(无论如何对我来说)。
【讨论】:
我同意。由于这个多重复选框是从 Django 构建的,因此我需要添加另一个 jQuery 语句来添加一个类。谢谢! 那可能行不通。因为这些类可能还不是 DOM 的一部分。为什么不能从 Django 添加类?你没有使用模板吗? 是的。我正在使用 Django 模板。当然,我可以覆盖现有的模板来添加一个类。以上是关于如何检查 Django 生成的多个复选框的状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 上将 True 设置为 BooleanField 的默认值?
向不同部分的单元格添加多个复选标记,并将其状态保存在Swift iOS中