复选框在jsp页面中使用Jquery

时间:2012-12-25 05:06:10

标签: jquery jsp checkbox

我在我的应用程序中使用复选框,但我遇到了一个问题,尽管我付出了努力,但仍无法解决。

function allChecked(status,set){
    alert(set);
    if(status)
        $('input[type=checkbox]').attr('checked','true');
    else
        $('input[type=checkbox]').attr('checked',''); 
    }

上述功能根据“状态”的值选择或取消选择所有复选框。 “set”是一个数字,指定应选择多少个复选框。所以我希望代码根据“set”的值选择复选框。我该怎么做?

3 个答案:

答案 0 :(得分:1)

编辑:

对于函数调用,您可以使用以下代码

function allChecked(){
    if($('#selectall').attr('checked', this.checked))
        $(".case").attr("checked", "checked");
    else
       $(".case").removeAttr("checked"); 

    }

示例http://jsfiddle.net/ipsjolly/wUgwz/7/

您也可以使用ID而不是调用函数

$(function(){

  // add multiple select / deselect functionality
  $("#selectall").click(function () {
      $('.case').attr('checked', this.checked);
  });

  // if all checkbox are selected, check the selectall checkbox
  // and viceversa
  $(".case").click(function(){

    if($(".case").length == $(".case:checked").length) {
        $("#selectall").attr("checked", "checked");
    } else {
        $("#selectall").removeAttr("checked");
    }

  });
});​

示例http://jsfiddle.net/ipsjolly/wUgwz/8/

来源:http://viralpatel.net/blogs/multiple-checkbox-select-deselect-jquery-tutorial-example/

答案 1 :(得分:1)

假设您要检查或取消选中第一个 N复选框(按它们在DOM中显示的顺序),您可以使用slice方法完成此操作:

function allChecked(status, set) {
    var checkboxes = $('input[type=checkbox]').slice(0, set);

    if (status) {
        checkboxes.attr('checked', 'checked');
    }
    else {
        checkboxes.removeAttr('checked');
    }
}

演示: http://jsfiddle.net/brianpeiris/Xs9Vc/

答案 2 :(得分:0)

尝试这样的事情

function allChecked(status,set){
alert(set);
if(status)
    $('input[type=checkbox]:lt('+set+')').attr('checked','true');
else
    $('input[type=checkbox]:lt('+set+')').attr('checked',''); 
}