django复选框全选

时间:2010-08-23 08:24:44

标签: javascript django django-templates

当我点击标题复选框时如何选择所有复选框? 通过javascript?怎么样? 我能用更简单的方法吗? 感谢:d

run.html

<form name="form" method="post" action="/home/{{build}}/">
<br>
<input type="submit" value="Delete" style="margin-left:149px; width:80px; height:30px">
<input type="hidden" name="build_id" value="{{build_id}}" />
<table border="1"; style="margin-left:150px; border-collapse:collapse;margin-top:10px"; cellpadding="4" borderColor=black>
<tr bgcolor=#888888>
<td><input type="checkbox" align="center"></td>
<td><b>Run</b></td>
<td><b>Product</b></td>
</tr>

{% for run in run_list %}
    <tr>
    <td><input type="checkbox" name="var_delete" value="{{run.id}}"></td>
    <td><a href="/home/{{build}}/{{run.name}}">{{build}} {{run.name}}</a></td>
    <td>{{run.build.version}}</td>
    </tr>
{% endfor %}
</table>
</form>

4 个答案:

答案 0 :(得分:1)

选中此项:您还可以切换主复选框选择,以防您点击项目复选框:

$(function() {

  var masterCheckbox = $('#select_all');
  var slaveCheckboxes = $('.checkbox_delete');

  masterCheckbox.click(function() {
    slaveCheckboxes.attr('checked', masterCheckbox.attr('checked'));
  });

  slaveCheckboxes.click(function() {
      // Check all slave checkboxes selections: in case all are checked - check the master checkbox as well
      masterCheckbox.attr('checked', $.grep(slaveCheckboxes, function(e) {
          return $(e).attr('checked');
      }).length == slaveCheckboxes.length);
  });

});

答案 1 :(得分:0)

你没办法,只有 Javascript 。加载页面后,django无法执行任何操作。 愚蠢的方法可以将处理程序附加到主复选框以重新加载页面并将其设置为由django检查,但这是非常非常糟糕的主意。

如果您使用的是像mootools或jquery这样的库,那么很容易实现。

作为第二个提示,请查看django forms,在处理表格附近的所有内容时,它们会让您的生活更轻松。

答案 2 :(得分:0)

你必须使用javascript。这是一个使用jquery的例子......

$(".checkbox_delete").attr('checked', true);

将其放入标题复选框的click事件中,并将该类(checkbox_delete)添加到要检查的所有复选框中。

答案 3 :(得分:0)

我使用jquery写这个,但是当我点击'全选'时它就是噪音......

run.html

<script type="text/javascript" >
$(document).ready( function () {
  $('#select_all').click( function() {
    $(".checkbox_delete").attr('checked', true);
  });
}
</script>

<form name="form" method="post" action="/home/{{build}}/">
<br>
<input type="submit" value="Delete" style="margin-left:149px; width:80px; height:30px">
<input type="hidden" name="build_id" value="{{build_id}}" />
<table border="1"; style="margin-left:150px; border-collapse:collapse;margin-top:10px"; cellpadding="4" borderColor=black>
<tr bgcolor=#888888>
<td><input id="select_all" type="checkbox" align="center"></td>
<td><b>Run</b></td>
<td><b>Product</b></td>
</tr>

{% for run in run_list %}
    <tr>
    <td><input type="checkbox" name="var_delete" value="{{run.id}}" class="checkbox_delete"></td>
    <td><a href="/home/{{build}}/{{run.name}}">{{build}} {{run.name}}</a></td>
    <td>{{run.build.version}}</td>
    </tr>
{% endfor %}
</table>
</form>