function CheckBoxList_Click(sender)
{
var container = sender.parentNode;
if(container.tagName.toUpperCase() == "TD") { // 服务器控件设置呈现为 table 布局(默认设置),否则使用流布局
container = container.parentNode.parentNode; // 层次: <table><tr><td><input />
}
var chkList = container.getElementsByTagName("input");
var senderState = sender.checked;
for(var i=0; i<chkList.length;i++) {
chkList[i].checked = false;
}
sender.checked = senderState;
}
<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal" >
<asp:ListItem Selected="True" οnclick="CheckBoxList_Click(this)" Value="0" Text="1个月"></asp:ListItem>
<asp:ListItem Value="1" οnclick="CheckBoxList_Click(this)" >1个季度</asp:ListItem>
<asp:ListItem Value="2" οnclick="CheckBoxList_Click(this)" >半年</asp:ListItem>
<asp:ListItem Value="3" οnclick="CheckBoxList_Click(this)" >1年</asp:ListItem>
</asp:CheckBoxList>
取值-----------------------------------------------------------------
/// <summary>
/// 绑定复选框
/// </summary>
private void BindChkList()
{
string checkListValue = "";
string checkListText = "";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
checkListValue += CheckBoxList1.Items[i].Value + ",";
checkListText += CheckBoxList1.Items[i].Text + ",";
}
checkListText = checkListText.TrimEnd(',');
checkListValue = checkListValue.TrimEnd(',');
//由于checkboxlist在前台html页面表现中没有value属性,导致js无法获取选种的value值
//这里用程序来添加value和text属性
CheckBoxList1.Attributes["ListValue"] = checkListValue;
CheckBoxList1.Attributes["ListText"] = checkListText;
}
Page_Load
if (!IsPostBack)
{ BindChkList();
}
前台:
var chkObject;
chkObject = document.getElementById("<%=CheckBoxList1.ClientID %>");
var arrListText = chkObject.ListText.split(',');
var arrListValue = chkObject.ListValue.split(',');//这个可以取到value的值
var chkInput =chkObject.getElementsByTagName("INPUT");
var count = arrListText.length;
var strCheckChecked = "";
var arrCheckChecked;
var chkText = "";
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")
{
chkText += arrListText[j] +",";
}
}
chkText = RTrim(chkText);
以上是---------------------- text的值