ASP.NET服務(wù)器端控件CheckBoxList
作者:佚名
本文介紹ASP.NET服務(wù)器端控件CheckBoxList在客戶端沒有生成value值,所以就想在客戶端通過JS獲得選中項(xiàng)就很麻煩了。
ASP.NET服務(wù)器端控件CheckBoxList在客戶端沒有生成value值,所以就想在客戶端通過JS獲得選中項(xiàng)就很麻煩了。
迫于無奈,只能寫了以下的代碼。比較通用,適合于控件CheckBoxList的屬性RepeatLayout為Flow和Table,屬性RepeatDirection為Horizontal和Vertical
objID為ASP.NET服務(wù)器端控件在客戶端生成的ID
通用版本(不依賴任何類庫)
- function GetCheckBoxListValue(objID)
- {
- var v = new Array();
- var CheckBoxList = document.getElementById(objID);
- if(CheckBoxList.tagName == "TABLE")
- {
- for(i=0;i<CheckBoxList.rows.length;i++)
- for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
- if(CheckBoxList.rows[i].cells[j].childNodes[0])
- if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
- v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
- }
- if(CheckBoxList.tagName == "SPAN")
- {
- for(i=0;i<CheckBoxList.childNodes.length;i++)
- if(CheckBoxList.childNodes[i].tagName == "INPUT")
- if(CheckBoxList.childNodes[i].checked==true)
- {
- i++;
- v.push(CheckBoxList.childNodes[i].innerText);
- }
- }
- return v;
- }
- Asp.net Ajax版本(依賴Asp.net Ajax類庫支持)
- function GetCheckBoxListValue(objID)
- {
- var v = new Array();
- var CheckBoxList = $get(objID);
- if(CheckBoxList.tagName == "TABLE")
- {
- for(i=0;i<CheckBoxList.rows.length;i++)
- for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
- if(CheckBoxList.rows[i].cells[j].childNodes[0])
- if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
- Array.add(v,CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
- }
- if(CheckBoxList.tagName == "SPAN")
- {
- for(i=0;i<CheckBoxList.childNodes.length;i++)
- if(CheckBoxList.childNodes[i].tagName == "INPUT")
- if(CheckBoxList.childNodes[i].checked==true)
- {
- i++;
- Array.add(v,CheckBoxList.childNodes[i].innerText);
- }
- }
- return v;
- }
以上介紹ASP.NET服務(wù)器端控件CheckBoxList。
【編輯推薦】
責(zé)任編輯:佚名
來源:
IT168