Chandler

导航

CheckBoxList 的单选

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" onclick="CheckBoxList_Click(this)"   Value="0" Text="1个月"></asp:ListItem>
                              <asp:ListItem Value="1" onclick="CheckBoxList_Click(this)" >1个季度</asp:ListItem>
                             <asp:ListItem Value="2" onclick="CheckBoxList_Click(this)" >半年</asp:ListItem>
                             <asp:ListItem  Value="3" onclick="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的值

 

 

posted on 2009-05-20 12:30  Chandler.C  阅读(308)  评论(0编辑  收藏  举报