0

我使用 getElementById() 在 IE 7 中工作,但在 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>

如果我不够清楚,请告诉我。我会尽力解释任何你不明白的。

谢谢你的时间。

4

2 回答 2

3

以下行不正确;您正在尝试连接一个变量名,调用mySelect_一个整数:

alert(document.myForm.mySelect_+i.value);

相反,您应该使用关联数组语法:

alert(document.myForm['mySelect_'+i].value);

此外,在同一个循环中,您应该从而1不是从 开始0,因为没有名为 的元素mySelect_0

这是一个有效的演示

于 2012-09-14T15:08:09.203 回答
2

您已使用名称创建下拉菜单

尝试使用

$('select[name=mySelect_'+i+']').val();

别的

$("#id option:selected").text()
于 2012-09-14T15:15:21.847 回答