如何在客户端取得checkboxlist选对钩的值 CBL1.DataSource = download.GetFieldDescription(tbName)
CBL1.DataTextField = "FieldDescription"
CBL1.DataValueField = "FieldName"
CBL1.DataBind()我在服务器端已经设置好了值域
在客户端如何取啊
CBL1.DataTextField = "FieldDescription"
CBL1.DataValueField = "FieldName"
CBL1.DataBind()我在服务器端已经设置好了值域
在客户端如何取啊
private void setControls(ref ControlCollection cs)///遍历所有checkboxlist
{
foreach(Control c in cs)
{
if(c.HasControls())
{
ControlCollection cc = c.Controls;
setControls(ref cc);
}
if(c is System.Web.UI.WebControls.CheckBoxList)
{
System.Web.UI.WebControls.CheckBoxList cbl=(CheckBoxList)c;
foreach (ListItem cbx in cbl.Items)///遍历所有项
{
//Response.Write(cbx.Value.ToString());
base_class.db_class db=new pms_bs.base_class.db_class();
db.sql="select id from sys_group_page where lel=1 and page_id='"+cbx.Value+"' and group_id="+ViewState["group_id"];
System.Data.SqlClient.SqlDataReader dr=db.executereader();
if(dr==null)
cbx.Selected=false;
else
{
cbx.Selected=true;
}
db.db_close();
} }
}
}
我说的是在客户端 用javascript
setControls(ref cc);setControls函数:
private void setControls(ref ControlCollection cs)///遍历所有checkboxlist
{
foreach(Control c in cs)
{
if(c.HasControls())
{
ControlCollection cc = c.Controls;
setControls(ref cc);
}
if(c is System.Web.UI.WebControls.CheckBoxList)
{
System.Web.UI.WebControls.CheckBoxList cbl=(CheckBoxList)c;
foreach (ListItem cbx in cbl.Items)///遍历所有项
{
Response.Write(cbx.Value.ToString());
} }
}
}嗬嗬,这样看也许清楚点
{
var i;
for(i=0;i<document.all['CheckBoxList1'].rows.length;i++ )
{
var name = "CheckBoxList1_" + i;
var tmpChecked = document.all[name].checked;
......
}
}
function Checkall(tabnm,chknm){
var strname=tabnm;
var strchknm=chknm;
// Go through all items of a check list control
var table = document.getElementById (strname);
var cells = table.getElementsByTagName("td");
var ctlr;
for (var i = 0; i < cells.length; i++){
ctrl = cells[i].firstChild;
if (ctrl.type == 'checkbox')
if(document.getElementById(strchknm).checked==true){
ctrl.checked=true;
}
else{ctrl.checked=false;}
}
}
</script>
看清题目 我要取的是checkboxlist的所有选中项的值 不是它的选中状态
不过这个问题也搞过,但是没成功,看楼下的高手出招了
{
//count
var nCount=0;
for(var i=0;i< frm.length;i++)
{
e=frm.elements[i];
if ( e.type=='checkbox' && e.name.indexOf(chkName) != -1 )
{
if (e.checked==true)
{
nCount++;
}
}
}
return nCount;
}
看清题目 我要取的是checkboxlist的所有选中项的值 不是它的选中状态
{
var obj = document.getElementsByTagName("input");
var str = "";
for(var i=0;i<obj.length;i++)
{
if(obj[i].type == "checkbox" && obj[i].checked == true)
str += obj[i].parentElement.innerText+",";
}
alert(str);
}
这个肯定行,不过做法比较特别
document.getElementsByTagName("input"); 中 input是固定的
你照贴就能用
你取得是text域 但我想取值CBL1.DataTextField = "FieldDescription"
CBL1.DataValueField = "FieldName"即我要取FieldName
你试一下就知道了,取得就是value
{
var content = "";
for(var i=1;i<form1.elements.length;i++)
{
var e = form1.elements[i];
if (e.checked)
content += e.value + ",";
}
window.opener.form1.GroupID.value = content;
}
在这段代码中把所有选中的checkbox的value以逗号分叠加为一个字符串并放在一个隐藏input中,这个一定是你要的吧。
结贴吧!!
除非你能用js来对ViewState解码,否则是取不到的