我在 IE 7 中使用 getElementById() 可以正常工作,但在 IE8 和 IE9 中不起作用。我正在做的是,我需要对选择框进行验证,以查看它们是否是必需的,并检查它们选择执行其他操作的内容。我还需要检查输入框以查看该值是什么,并且它也是必需的。
function saveTest(){
var startNumber=0;
var endNumber=3;
// Works
alert(document.myForm.mySelect_1.value);
for (i = startNumber; i <= endNumber; i++) {
// I know this is not right but I am trying everything
alert(document.myForm.mySelect_+i.value);
// Using JQuery to try to solve the issue and this does not work for me.
alert($('#mySelect_'+i).val());
}
}
我知道这些不是动态创建的,但这只是为了帮助我找到这个问题的答案。我正在创建更多选择
<input name="myText_1" id="myText_1" value="">
<br />
<select name="mySelect_1" id="mySelect_1">
<option value="0">- - - Select One - - -</option>
<option value="1">item 1</option>
<option value="2">item 2</option>
<option value="3">item 3</option>
<option value="4">item 4</option>
<option value="5">item 5</option>
</select>
<br />
<input name="myText_2" id="myText_2" value="">
<br />
<select name="mySelect_2" id="mySelect_2">
<option value="0">- - - Select One - - -</option>
<option value="1">item 1</option>
<option value="2">item 2</option>
<option value="3">item 3</option>
<option value="4">item 4</option>
<option value="5">item 5</option>
</select>
<br />
<input name="myText_3" id="myText_3" value="">
<br />
<select name="mySelect_3" id="mySelect_3">
<option value="0">- - - Select One - - -</option>
<option value="1">item 1</option>
<option value="2">item 2</option>
<option value="3">item 3</option>
<option value="4">item 4</option>
<option value="5">item 5</option>
</select>
<br />
<a href="javascript:saveTest();">Save</a>
如果我不够清楚,请告诉我。有不懂的地方我会尽力解释。
感谢您的宝贵时间。
最佳答案
以下行不正确;您正在尝试将名为 mySelect_
的变量名称连接到整数:
alert(document.myForm.mySelect_+i.value);
相反,您应该使用关联数组语法:
alert(document.myForm['mySelect_'+i].value);
此外,在同一循环中,您应该从 1
而不是 0
开始,因为没有名为 mySelect_0
的元素。
这是一个工作 DEMO 。
关于javascript - 如何在 IE8 和 IE9 中使用 JavaScript 或 JQuery 获取输入值和动态创建的输入的选定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12427182/