我现在要做一个调查,调查的问题是从数据库动态读取的问题可能有多个,答案可能也有多个。点击提交的时候我想用js判断是否都进行了选择。我用了RadioButtonList1和checkboxlist两中控件。RadioButtonList生成html后各个选项的name值是一样的,很容易用js判断是否选择而checkboxlist生成html后各个选项的name值不同,这个时候怎样用js来判断是否选择???问题是动态生成的请各位大侠赐教

解决方案 »

  1.   

     用id啊  生成的时候 id自增 checkid+i
      

  2.   

    我怎样判断这个checkboxlist下面一共有几项啊,能否说的明白点
      

  3.   

    定义一个ID为CheckBoxList1的checkboxlist
    $("#CheckBoxList1").find("input[type=checkbox]").each(function(){
       if ($(this).attr("checked") == true)
           alert('我爸是李刚');
    });
    如果页面上只有这么几个checkbox,前面一句话还可以精简为:$(":checkbox").....
      

  4.   

    function Checkbox()
      {
          var j=0;
                for(i=0;i<document.form1.elements.length;i++)
                {
                    if(document.form1.elements[i].type=="checkbox" && document.form1.elements[i].checked == true)
                    {
                        j=j+1;
                    }
                }
                if(j==0)
                {
                    //...
                    return false;
                }
                else
                {
                    return confirm('true?');
                }
      }
      

  5.   


    <table id="dlQuestion_ctl04_CheckBoxList1" border="0">
      <tr>
        <td><input id="dlQuestion_ctl04_CheckBoxList1_0" type="checkbox" name="dlQuestion$ctl04$CheckBoxList1$0" />
          <label for="dlQuestion_ctl04_CheckBoxList1_0">A、对目前的薪酬福利不满意</label></td>
      </tr>
      <tr>
        <td><input id="dlQuestion_ctl04_CheckBoxList1_1" type="checkbox" name="dlQuestion$ctl04$CheckBoxList1$1" />
          <label for="dlQuestion_ctl04_CheckBoxList1_1">B、个人职业发展遭遇瓶颈</label></td>
      </tr>
      <tr>
        <td><input id="dlQuestion_ctl04_CheckBoxList1_2" type="checkbox" name="dlQuestion$ctl04$CheckBoxList1$2" />
          <label for="dlQuestion_ctl04_CheckBoxList1_2">C、工作压力过大</label></td>
      </tr></table>
    现在一个checkboxlist生成的代码是这样的,用上面的函数不能解决问题吧,一个checkboxlist里面只要有一个选中就可以
      

  6.   


    var count=0;
    var container=document.getElementById("<%= CheckBoxList1.ClientID%>");
            var cbList=container.getElementsByTagName("input");
            for(var i=0;i<cbList.length;i++){
                if(cbList[i].type=="checkbox"&&cbList[i].checked){
                    count++;
                }
            }
    count=0,表示没有选中。
      

  7.   

    这样也是可以的,或者你用Ajax动态去添加Checkbox,将它们的name属性都设为一样的,也好取!
      

  8.   

    怎么都这么麻烦呢?楼主..不管它上面有几百个或上万个,,checkbox加一个name属性,,后台直接request.Form["name"].split(',')就可以了
      

  9.   

    用后台写是很简单,但现在我要用js来实现、
    datalist里面放checkboxlist有没有办法使生成 html选项  name值相同啊。
      

  10.   

    $("#dlQuestion_ctl04_CheckBoxList1").find(":checkbox[checked='true']").each(function(){
        alert($(this).val());
    });
      

  11.   

    你如果是判断是否有checkbox被选中的话,可以这样:
    var count=$("#dlQuestion_ctl04_CheckBoxList1").find(":checkbox[checked='true']").length;
    if(count==0){
    alert("未被选中!");
    }
    else{
    alert("您选中的个数为:"+count);
    }
      

  12.   


    var count=$("#"+arrCheck[i]).find(":checkbox[checked='true']").length;
    我这样怎么不对啊?
      

  13.   

    而checkboxlist生成html后各个选项的name值不同,这个时候怎样用js来判断是否选择???
    的确
    这有两种简单方法:
    一. 利用JQuery的模糊匹配选择器,checkbox的name前面一长段肯定是一样的,不一样的是后面的索引值
    选中所有name以ctl00_chkList_开头的input
    $("input:[name^='ctl00_chkList_']")二. 利用父子关系来选择
    选中<div id="mydiv">下面所有选中的checkbox
    $("mydiv > input:checked")  如果要包含多层嵌套的,就将>去掉
      

  14.   

    你这里的规律全在<table id = "dlQuestion_ctl04_CheckBoxList1">上面