触发jQuery事件并知道是否检查列表/数组中的和Checkbox

时间:2013-09-11 19:49:42

标签: jquery arrays list checkbox eventtrigger

下面的代码是页面的缩减版本,但您会看到它将遍历列表并为列表中的每个项目生成一个复选框。

我想知道的事情:

  1. 如果点击任何一个复选框(要么选中它们还是取消选中),如何触发jQuery事件?
  2. 我需要用什么jQuery代码查看下面代码生成的复选框列表,然后如果选中任何一个按钮(例如id =“DeleteSelected”)可见,或者隐藏按钮未检查?
  3. <s:form action="manageQuestions" >
        <s:iterator value="questions" id="currentQuestion">
            <s:checkbox name="questionCheck" id="ch-%{id}" value="selected" fieldValue="%{id}"/>
        </s:iterator>
    </s:form>
    

    我是一个jQuery dunce,我知道我需要把:

    <script>
    
    </script>
    
    最后还有,但这就是我所知道的。我不知道是否需要放:

    $(document).ready(function() {
        //something here
    }
    

    或者如果我根本不需要文件等等。

2 个答案:

答案 0 :(得分:2)

试试这个:http://jsbin.com/AfEriqe/1/edit

$(document).ready(function() {
  var checkboxes = $('input[type=checkbox]');
  $(checkboxes).on('change', function() {
    console.log('checkbox changed');
    if($(checkboxes).is(':checked')) {
      console.log('at least one checked');
    }
  });
});

答案 1 :(得分:0)

我想补充Vlad的答案,更改我想要显示/隐藏的元素的css类,条件检查扩展到:

if($(checkboxes).is(':checked')) {
    $("#deleteSelected").attr('class', 'visible');
} else {
    $("#deleteSelected").attr('class', 'hidden');
}

其中'deleteSelected'是要显示/隐藏的元素的id