checkboxlist取值
来源:互联网 发布:网络大电影预算 编辑:程序博客网 时间:2024/06/05 23:56
C# code有个地方要用到ajax,页面上的值得用js到才行,页面上有个服务器控件checkboxlist,想要获取选中的value值,
var chkObject = document.getElementById('<%=chkProjStatus.ClientID%>');
var chkInput =chkObject.getElementsByTagName("INPUT");
for(var i=0;i<chkInput.length;i++)
{
if(chkInput[i].checked)
{
alert(chkInput[i].value);
}
}
发现按上面的方法是取不到的, 由于checkboxlist在前台html页面表现中没有value属性,导致js无法获取选种的value值
须用程序来添加value和text属性,还是给个实际的dome吧 ,新建一个xx.aspx页面,cs文件代码如下
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindChkList();
}
}
/// <summary>
/// 绑定复选框
/// </summary>
private void BindChkList()
{
chkProjStatus.Items.Add(new ListItem("项目前期", "505004"));
chkProjStatus.Items.Add(new ListItem("项目进行中", "505001"));
chkProjStatus.Items.Add(new ListItem("项目中期", "505003"));
chkProjStatus.Items.Add(new ListItem("项目后期", "505005"));
chkProjStatus.Items.Add(new ListItem("项目结束", "505002"));
chkProjStatus.Items.Add(new ListItem("项目意外中止", "505006"));//这里您可以绑定数据库里的数据
string checkListValue = "";
string checkListText = "";
for (int i = 0; i < chkProjStatus.Items.Count; i++)
{
checkListValue += chkProjStatus.Items[i].Value + ",";
checkListText += chkProjStatus.Items[i].Text + ",";
}
checkListText = checkListText.TrimEnd(',');
checkListValue = checkListValue.TrimEnd(',');
//由于checkboxlist在前台html页面表现中没有value属性,导致js无法获取选种的value值
//这里用程序来添加value和text属性
chkProjStatus.Attributes["ListValue"] = checkListValue;
chkProjStatus.Attributes["ListText"] = checkListText;
}
aspx页面的js脚本这样来:
function CheckValue()
{
//在JS端调用CheckBoxList
var chkObject = document.getElementById('<%=chkProjStatus.ClientID%>');
var chkInput =chkObject.getElementsByTagName("INPUT");
var arrListValue = chkObject.ListValue.split(',');
var count = arrListValue.length;
var strCheckChecked = "";
var arrCheckChecked;
var chkValue = "";
//每次点击CheckBoxList的一个Item,都循环把所有Item的选中状态按0、1标志,存入一个变量,最后再根据这个标志来决定checkboxlist中要取的值
for (var i=0; i< chkInput.length; i++)
{
if(chkInput[i].checked)
{
strCheckChecked = strCheckChecked + "1" + ",";
}
else
{
strCheckChecked = strCheckChecked + "0" + ",";
}
}
arrCheckChecked = RTrim(strCheckChecked).split(',');
for(var j = 0; j < count; j++)
{
if(arrCheckChecked[j] == "1")
{
chkValue += arrListValue[j] +",";
}
}
chkValue = RTrim(chkValue);
alert(chkValue);
}
//如果有则移除末尾的逗号
function RTrim(str)
{
if(str.charAt(str.length-1)==",")
return str.substring(0,str.length-1);
else
return str;
}
OK,这样就搞定了:)
- 取CheckBoxList的值
- 取CheckBoxList的值
- CheckBoxList 取值
- CheckBoxList取值
- checkboxlist取值
- 关于CheckBoxList取值
- Repeater嵌套CheckBoxList ,取值
- CheckBoxList取值与初始化
- 关于checkboxlist前台取值问题
- CheckBoxList动态绑定 取值_ASPNET(转)
- CheckBoxList多条件取值,sql查询
- repeater中CheckBoxList/RadioButtonList取值赋值
- asp.net CheckBoxList 取值与是否选中,后台控制前台checkboxList选中
- asp.net CheckBoxList 取值与是否选中,后台控制前台checkboxList选中
- 取checkboxlist值赋给dropdownlist异步实现
- CheckBoxList和RadioButtonList的使用(后台取值和赋值)
- checkboxList后台绑定取Value 取不到
- asp.net CheckBoxList 取值与勾选,复选框后台控制前台checkbox选中
- 读书计划
- org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction
- DataTable行转列
- css自适应宽度
- centos cmake 安装 mysql-5.5.16 附配置文件
- checkboxlist取值
- 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
- lrs_receive函数超时问题
- 深入浅出之正则表达式
- 如何判断页面加载完成
- oracle apache服务占用80端口
- 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败
- 自动选中文本框值
- linux怎样修改和保存httpd.conf