为了账号安全,请及时绑定邮箱和手机立即绑定

js实现复选框的勾选

js实现复选框的勾选

潇湘沐 2018-12-06 15:12:53
我获取了一组复选框的值,放到已隐藏域中,现在要根据隐藏域的值能够相应的勾选复选框。 //下面是一组复选框和应藏域      <input id="Checkbox1" type="checkbox" value="技术方案执行" />技术方案执行                            <input id="Checkbox2" type="checkbox" value="文明施工" />文明施工                            <input id="Checkbox3" type="checkbox" value="文件记录" />文件记录                            <input id="Checkbox4" type="checkbox" value="成品保护"/>成品保护                            <input id="Checkbox5" type="checkbox" value="其他" onclick="Text1.disabled=!this.checked;if (!this.checked) Text1.value=''">其他                            <input id="Text1" type="text" disabled style="width: 284px" name="Text1"/> //勾选复选框代码function CheckBox(){   var arry= new Array();  var checkbox1=document.getElementByID("Checkbox1");  var checkbox2=document.getElementByID("Checkbox2");  var checkbox3=document.getElementByID("Checkbox3");  var checkbox4=document.getElementByID("Checkbox4");  var checkbox5=document.getElementByID("Checkbox5");  var hidden=document.getElementByID("Hidden1");  arry[]=hidden.split(',');  for(var i=0,i<arry.length;i++)  {     if(arry[i]=="技术方案执行")     checkbox1.checked=true;     if(arry[i]=="文明施工")     checkbox2.checked=true;     if(arry[i]=="文件记录")     checkbox3.checked=true;     if(arry[i]=="成品保护")     checkbox4.checked=true;     if(arry[i]=="其他")     checkbox5.checked=true;  }  alert("asdffds");} 帮忙看下那里出错了?或者有更好的方法不胜言谢
查看完整描述

9 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

arry=hidden.split(',');

查看完整回答
反对 回复 2019-01-21
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

同意
查看完整回答
反对 回复 2019-01-21
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

不对的呀,说没有该属性
查看完整回答
反对 回复 2019-01-21
?
弑天下

TA贡献1818条经验 获得超8个赞

是这样的
arry=hidden.value.split(',');
查看完整回答
反对 回复 2019-01-21
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

能否把你的需求说明白一点?谢谢.

查看完整回答
反对 回复 2019-01-21
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

    <body>
        <input id="Checkbox1" type="checkbox" value="技术方案执行" />技术方案执行
                            <input id="Checkbox2" type="checkbox" value="文明施工" />文明施工
                            <input id="Checkbox3" type="checkbox" value="文件记录" />文件记录
                            <input id="Checkbox4" type="checkbox" value="成品保护"/>成品保护
                            <input id="Checkbox5" type="checkbox" value="其他" onclick="Text1.disabled=!this.checked;if (!this.checked) Text1.value=''"/>其他
                            <input id="Text1" type="text"  disabled="disabled" name="Text1"/>
                            <input id="Hidden1" type="hidden" value="技术方案执行,文件记录"/>
               <script language="javascript" type="text/javascript">
                   CheckBox();
                   function CheckBox() {
                       var arry = new Array();
                       var checkbox1 = document.getElementById("Checkbox1");
                       var checkbox2 = document.getElementById("Checkbox2");
                       var checkbox3 = document.getElementById("Checkbox3");
                       var checkbox4 = document.getElementById("Checkbox4");
                       var checkbox5 = document.getElementById("Checkbox5");
                       var hidden = document.getElementById("Hidden1");
                       arry = hidden.value.split(',');
                       alert(arry.length);
                       for (var i = 0; i < arry.length; i++) {
                           if (arry[i] == "技术方案执行")
                               checkbox1.checked = true;
                           if (arry[i] == "文明施工")
                               checkbox2.checked = true;
                           if (arry[i] == "文件记录")
                               checkbox3.checked = true;
                           if (arry[i] == "成品保护")
                               checkbox4.checked = true;
                           if (arry[i] == "其他")
                               checkbox5.checked = true;
                       }

                   }
</script>
    </body>

---------------------------------------

以上是我的代码..

你上面的代码中

getElementByID() 是错误的   getElementById() 注意大小写。

获取隐藏域的值那里也有问题

应该是 arry=hidden.value.split(",");

查看完整回答
反对 回复 2019-01-21
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

如果就是这些值的话,可以考虑

var str = hidden.value;

var strAry = {"技术方案执行","文明施工","文件记录","成品保护","其他"};

for(i=strAry.length;i>0;i--){

if(str.indexOf(strAry[i-1])>-1) document.getElementById("Checkbox" + i).checked=true;

}

没测有没有问题,中午休息时间太短了,该干活了。

查看完整回答
反对 回复 2019-01-21
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

for(i=1;i<=5;i++){
var el = document.getElementById("Checkbox"+i);
  if(el.value.indexOf("技术方案执行")!=-1 || el.value.indexOf("文明施工")!=-1 || el.value.indexOf("文件记录")!=-1
    || el.value.indexOf("成品保护")!=-1 || el.value.indexOf("其他")!=-1){
      el.checked= true;
  }
}

查看完整回答
反对 回复 2019-01-21
  • 9 回答
  • 0 关注
  • 650 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信