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