我想在IF条件下使用计数器变量..我试过但它不工作。请帮我正确的代码.. 代码是:
var ChForAtn=0;
if(arrayAtnd[ChForAtn]=="Name")
{
alert("Name");
if(document.forms[7].ckbx'+ChForAtn+'.checked==true)
{
alert('Name added and checked also');
}
ChForAtn++;
}
答案 0 :(得分:1)
var ChForAtn=0; <--- Variable declared as 0
if(arrayAtnd[ChForAtn]=="Name")
{
alert("Name");
if(document.forms[7].ckbx'+ChForAtn+'.checked==true) <-- You have your concatenation wrong.
{
alert('Name added and checked also');
}
ChForAtn++; <--- Variable incremented
}
首先,你应该发布你的循环。您发布的代码段不包含循环。
此代码中唯一增加的变量将重置在代码的顶部,这对此片段没有多大意义。
修改强>
以下内容无效,因为您的连接已混淆
document.forms[7].ckbx'+ChForAtn+'.checked==true
我对JS不是很好,但如果你想在PHP中创建一个变量变量,你必须使用像eval()
这样的东西。我知道您可以通过window[]
访问它,但在这种情况下可能无法实现。
<击>
eval()
if (eval('document.forms[7].ckbx' + ChForAtn + '.checked') == true) {
//code
}
击> <击> 撞击>
注意有充分的理由为什么不应该使用eval()
。有关详细信息,请查看此处:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval#Don.27t_use_eval.21
但是,考虑到你的用例,我真的没有办法解决它。我欢迎其他海报的其他建议。
<强> EDIT2 强>
正如@nickf在评论中指出的那样,你可以通过调用
来做同样的事情if (document.forms[7]['ckbx' + ChForAtn].checked == true) {
//code
}
其他人的警示故事,请勿在可避免的地方使用eval():)
答案 1 :(得分:-1)
在if条件中使用for循环。