jQuery:显示div然后勾选1个或更多复选框

时间:2013-06-07 12:49:04

标签: javascript jquery

我有一堆复选框,我只希望divActions在选中这些复选框中的一个或多个时可行.show()。然后我想隐藏divActions,如果没有取消或全部取消。

如何做到这一点?

这是我的开始。

jquery的

 $(document).ready(function() {

       var $divActions = $('#actions');
       var $clickActions = $('.contacts');

       $divActions.hide()
       $clickActions.click(function(){
       $divActions.show()


  });

HTML

{% for item in contacts %}
      <tr>
        <td><input type="checkbox" name="contacts" value="{{ item.id }}" class="contacts"/></td>
        <td>{{ item.full_name|capfirst }}</td>
        <td>{{ item.mobile }}</td>
        <td class="td-actions">
          <a class="btn btn-small" href="{{ item.get_delete_url }}">
          <i class="icon-trash"></i>
          </a>
        </td>
      </tr>
      {% endfor %}

4 个答案:

答案 0 :(得分:3)

$('.contacts').on('change', function() {
    $('#actions').toggle( $('.contacts').is(':checked') );
});

FIDDLE

答案 1 :(得分:2)

尝试使用更改处理程序:

$clickActions.on('change',function(){
     if($clickActions.is(':checked'))
         $divActions.show();
     else $divActions.hide();
});

答案 2 :(得分:1)

  1. 您需要一个函数来检查所有复选框的状态,并根据它显示/隐藏div。
  2. 您需要将onchange - 事件处理程序绑定到每个复选框以从1运行函数。

答案 3 :(得分:1)

看看这里:http://jsfiddle.net/CFazb/

<强>码

$("input:checkbox").change(function () {
    if ($("input:checkbox:checked").length > 0)
        $("#actions").show();
    else 
        $("#actions").hide();
})

根据您的需要更改代码