javascript - 如何在 IE8 和 IE9 中使用 JavaScript 或 JQuery 获取输入值和动态创建的输入的选定值?

标签 javascript jquery

我在 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/

相关文章:

javascript - 如何获取JS对象中的值?

javascript - Mouseleave jQuery 事件将移除点击效果

javascript - Jquery + 最新的哈希更改监听器?

javascript - 为什么斜杠字符会导致我的选择器失败?

javascript - phantomjs render_multi_url.js 修改输出文件名

javascript - md-autocomplete 找到数据,但下拉列表为空

javascript - jQuery 加入 location.hash 无尽清爽 Firefox

php - JQuery Mobile 中的 JavaScript 文件在其他页面上不起作用

javascript - 表格行数超过 1000 的最佳 JavaScript 可编辑网格/表格

jquery - 在选择器 id 中将 id 的一部分写入变量的正确方法