我获取了一组复选框的值,放到已隐藏域中,现在要根据隐藏域的值能够相应的勾选复选框。
//下面是一组复选框和应藏域
<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");
}
帮忙看下那里出错了?或者有更好的方法不胜言谢
var list = document.getElementsByName("cb");
function Check(obj) {
obj = ',' + obj + ',';
for (i = 0; i < list.length; i++) {
if (obj.indexOf(',' + list[i].value + ',') >= 0) {
list[i].checked = true;
}
}
}
后台:
Script.AddScriptStart(this.Page, "myscript", string.Format("Check('{0}')", hdfList.Value));
arry=hidden.split(',');
能否把你的需求说明白一点?谢谢.
<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(",");
如果就是这些值的话,可以考虑
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;
}
没测有没有问题,中午休息时间太短了,该干活了。
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;
}
}