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