【问题标题】:How to check status of Django generated multiple checkbox?如何检查 Django 生成的多个复选框的状态?
【发布时间】: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 您的方法在删除空间后也有效。谢谢!

标签: jquery django


【解决方案1】:

我会给这些盒子一个类,比如class='the_checkboxes' 然后使用:

$(".the_checkboxes:checkbox:checked").each(function()({
    allVals.push($(this).val());
});

它会更干净(无论如何对我来说)。

【讨论】:

  • 我同意。由于这个多重复选框是从 Django 构建的,因此我需要添加另一个 jQuery 语句来添加一个类。谢谢!
  • 那可能行不通。因为这些类可能还不是 DOM 的一部分。为什么不能从 Django 添加类?你没有使用模板吗?
  • 是的。我正在使用 Django 模板。当然,我可以覆盖现有的模板来添加一个类。
猜你喜欢
  • 1970-01-01
  • 2011-11-11
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多