чекбокс django выбрать все - PullRequest
       0

чекбокс django выбрать все

1 голос
/ 23 августа 2010

как я могу установить все флажки, когда я нажимаю флажок заголовка? По 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 ]

1 голос
/ 23 августа 2010

Отметьте это: вы сможете переключать выбор основного флажка в случае, если вы щелкнете флажок элемента:

$(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);
  });

});
0 голосов
/ 23 августа 2010

Вы должны использовать Javascript для этого. Это пример использования jquery ...

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

поместите это в событие click заголовка и добавьте этот класс (checkbox_delete) ко всем флажкам, которые вы хотите отметить.

0 голосов
/ 23 августа 2010

Я использую jquery и пишу это, но когда я нажимаю 'select_all', это не удобно ...

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>
0 голосов
/ 23 августа 2010

У вас нет пути, кроме Javascript .Как только страница загружена, вы не можете ничего сделать с помощью django. глупый метод может заключаться в том, чтобы прикрепить обработчик к главному флажку, чтобы перезагрузить страницу и установить их проверенными django, но это очень очень плохая идея.

Есливы используете какую-то библиотеку, такую ​​как mootools или jquery, которую легко достичь.

В качестве второго совета посмотрите на django формы , они облегчат вашу жизнь при работе со всем, что рядом с формами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...