1.多選框的回顯:
js:$(
function(){
var checkBoxAll =$("input[name^='checkbox_']");//獲取前綴為checkbox_的所有多選框對象
var checkArray=${list};//獲取多選框需要回顯得對應的值集合
console.info("checkArray=",checkArray);
for(var i=0;i<checkArray.length;i++){//
//獲取所有復選框對象的value屬性,然后,用checkArray[i]和他們匹配,如果有,則說明他應被選中
$.each(checkBoxAll,function(j,checkbox){
//獲取復選框的value屬性
var checkValue=$(checkbox).val();
if(checkArray[i]==checkValue){
$(checkbox).attr("checked",true);
}
})
}
});
2.多選框往后台傳值接收:
request.getParameterValues("c1");他返回的是一個String[],其中c1是多選框的name,由於多選框name是一樣的,所以可以獲取到所有選中的多選框的值
另附所有對多選框的操作(轉載):
//注意: 操作checkbox的checked,disabled屬性時jquery1.6以前版本用attr,1.6以上(包含)建議用prop
2
3 //1、根據id獲取checkbox
4 $("#cbCheckbox1");
5
6 //2、獲取所有的checkbox
7 $("input[type='checkbox']");//or
8 $("input[name='cb']");
9
10 //3、獲取所有選中的checkbox
11 $("input:checkbox:checked");//or
12 $("input:[type='checkbox']:checked");//or
13 $("input[type='checkbox']:checked");//or
14 $("input:[name='ck']:checked");
15
16 //4、獲取checkbox值
17 //用.val()即可,比如:
18 $("#cbCheckbox1").val();
19
20
21 //5、獲取多個選中的checkbox值
22 var vals = [];
23 $('input:checkbox:checked').each(function (index, item) {
24 vals.push($(this).val());
25 });
26
27 //6、判斷checkbox是否選中(jquery 1.6以前版本 用 $(this).attr("checked"))
28 $("#cbCheckbox1").click(function () {
29 if ($(this).prop("checked")) {
30 alert("選中");
31 } else {
32 alert("沒有選中");
33 }
34 });
35
36 //7、設置checkbox為選中狀態
37 $('input:checkbox').attr("checked", 'checked');//or
38 $('input:checkbox').attr("checked", true);
39
40 //8、設置checkbox為不選中狀態
41 $('input:checkbox').attr("checked", '');//or
42 $('input:checkbox').attr("checked", false);
43
44 //9、設置checkbox為禁用狀態(jquery<1.6用attr,jquery>=1.6建議用prop)
45 $("input[type='checkbox']").attr("disabled", "disabled");//or
46 $("input[type='checkbox']").attr("disabled", true);//or
47 $("input[type='checkbox']").prop("disabled", true);//or
48 $("input[type='checkbox']").prop("disabled", "disabled");
49
50 //10、設置checkbox為啟用狀態(jquery<1.6用attr,jquery>=1.6建議用prop)
51 $("input[type='checkbox']").removeAttr("disabled");//or
52 $("input[type='checkbox']").attr("disabled", false);//or
53 $("input[type='checkbox']").prop("disabled", "");//or
54 $("input[type='checkbox']").prop("disabled", false);
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 <h3>jQuery操作checkbox 8 </h3> 9 <input type="checkbox" id="cbCheckbox1" value="1" /> 10 <input type="checkbox" value="2" /> 11 <input type="checkbox" disabled="disabled" value="3" /> 12 <input type="checkbox" value="4" /> 13 <input type="checkbox" disabled="true" value="5" /> 14 <br /> 15 <input type="button" id="btnDisabled" value="禁用" onclick="fn_disabled();" /> 16 <input type="button" id="Button1" value="啟用" onclick="fn_enable();" /><br /> 17 <input type="button" id="Button2" value="獲取選中的值" onclick="getCheckedValues();" /><br /> 18 <input type="button" id="Button3" value="選中第二個" onclick="checkedSecond();" /> 19 <input type="button" id="Button4" value="取消選中第二個" onclick="uncheckedSecond();" /><br /> 20 </body> 21 </html> 22 <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script> 23 <script type="text/javascript"> 24 25 function fn_disabled() { 26 //$("input[type='checkbox']").attr("disabled", "disabled"); 27 //$("input[type='checkbox']").attr("disabled", true); 28 $("input[type='checkbox']").prop("disabled", true); 29 // $("input[type='checkbox']").prop("disabled", "disabled"); 30 } 31 32 function fn_enable() { 33 // $("input[type='checkbox']").removeAttr("disabled"); 34 // $("input[type='checkbox']").attr("disabled", false); 35 // $("input[type='checkbox']").prop("disabled",""); 36 $("input[type='checkbox']").prop("disabled", false); 37 } 38 39 //獲取選中的 checkbox的值 40 function getCheckedValues() { 41 var arr = []; 42 $("input[type='checkbox']:checked").each(function (index, item) {// 43 arr.push($(this).val()); 44 }); 45 alert(arr); 46 } 47 48 function checkedSecond() { 49 // $("input[type='checkbox']:eq(1)").prop("checked", "checked"); 50 $("input[type='checkbox']:eq(1)").prop("checked", true); 51 } 52 53 function uncheckedSecond() { 54 // $("input[type='checkbox']:eq(1)").prop("checked", ""); 55 $("input[type='checkbox']:eq(1)").prop("checked", false); 56 } 57 58 $("#cbCheckbox1").click(function () { 59 if ($(this).prop("checked")) {//jquery 1.6以前版本 用 $(this).attr("checked") 60 alert("選中"); 61 } else { 62 alert("沒有選中"); 63 } 64 }); 65 66 </script>
HTML
- <input type="checkbox" value="1" name="sProblem">check1
- <input type="checkbox" value="2" name="sProblem">check2
- <input type="checkbox" value="3" name="sProblem">check3
- <input type="checkbox" value="4" name="sProblem">check4
獲取選中的checkbox的val,並合成為一個字符串以逗號隔開。
- function getTheCheckBoxValue(){
- var test = $("input[name='sProblem']:checked");
- var checkBoxValue = "";
- test.each(function(){
- checkBoxValue1 += $(this).val()+",";
- })
- checkBoxValue = checkBoxValue.substring(0,checkBoxValue.length-1);
- }
設置獲取到的值給checkbox賦值
- function setTheCheckBoxValue(){
- var checkBox = "1,2,3";
- var checkBoxArray = checkBox.split(",");
- for(var i=0;i<checkBoxArray.length;i++){
- $("input[name='sProblem']").each(function(){
- if($(this).val()==checkBoxArray[i]){
- $(this).attr("checked","checked");
- }
- })
- }
- }