1. 程式人生 > >JS控制根據所傳資料選中多選、單選按鈕

JS控制根據所傳資料選中多選、單選按鈕

 /**
  * 選中多選框
 * @param val split符號分隔的多值字串,一般為後臺取出傳遞給前臺
 * @param chkName checkbox組的name
 * @param split 分隔符
 * 呼叫方式: 在頁面載入完成後呼叫該方法,給定引數,自動根據val勾選chkName複選框
 */
function transVal2Checkbox(val,chkName,split){
	 val=val.split(split);
	 var eles=document.getElementsByTagName('input');
	 for (var i=0; i<eles.length; ++i) {
		 if (eles[i].type=='checkbox'&&eles[i].name==chkName){
			 eles[i].checked=false;
			 for (var x in val ) {
				 if (val[x]!=''&&eles[i].value==val[x]) {
					 eles[i].checked=true;
				 }
			 }
		 }
   }
}

呼叫示例:

//XX型別的選中
var tempSort='<s:property value="editBean.datasort"/>';
transVal2Checkbox(tempSort,'editBean.datasort',', ');

 /**
  * 選中單選按鈕
 * @param val 值,一般為後臺取出傳遞給前臺
 * @param chkName radio組的name
 * 呼叫方式: 在頁面載入完成後呼叫該方法,給定引數,自動根據val勾選chkName單選框
 */
function transVal2Radio(val,chkName){
	 var eles=document.getElementsByTagName('input');
	 for (var i=0; i<eles.length; ++i) {
		 if (eles[i].type=='radio'&&eles[i].name==chkName) {
			 eles[i].checked=false;
			 if (val!=''&&eles[i].value==val) {
				 eles[i].checked=true;
			 }
		}
	 }
 }

呼叫示例:

//性別選中
var tempType='<s:property value="editBean.
sex"/>';
transVal2Radio(tempType,'editBean.
sex');