兼顾php和jquery新版本的checkbox的写法

<input type="checkbox" class="scate_item" name="scategories[]" value="1" />
<input type="checkbox" class="scate_item" name="scategories[]" value="2" />
<input type="checkbox" class="scate_item" name="scategories[]" value="3" />

  

对php语言来说,checkbox的name后必须有中括号"[]",否则$_POST获取到的只是checkbox的最后一个选中值,但加上后在高版本的jquery中无法使用类似下面的写法来判断选中的个数之类的验证:

   var selected_scates_num = $("input[type=checkbox][name=scategories[]]:checked").length;
        if( selected_scates_num < 1 || selected_scates_num > 2){
            $("#scategory_notice").show();
            $("input[type=checkbox]:first").focus();
            result = false;
        }else{
            $("#scategory_notice").hide();
        }

jquery1.3.x版本的好像可以,不过可以稍微变通一下,使用样式来取:

        var selected_scates_num = $("input.scate_item[type=checkbox]:checked").length;
        if( selected_scates_num < 1 || selected_scates_num > 2){
            $("#scategory_notice").show();
            $("input.scate_item[type=checkbox]:first").focus();
            result = false;
        }else{
            $("#scategory_notice").hide();
        }

  

原文地址:https://www.cnblogs.com/jenqz/p/3685856.html