2012-09-14 42 views
0

我有这个工作在IE 7使用getElementById(),但在IE8和IE9不起作用。我所做的是我需要对选择框进行验证,看看它们是否是必需的,并检查他们选择做什么来做其他事情。我还需要检查输入框以查看值是什么,并且它也是必需的。如何在IE8和IE9中使用JavaScript或JQuery获取输入值和动态创建输入的选定值?

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> 

如果我没有足够清晰的让我知道。我会尽我所能解释任何你不明白的东西。

谢谢你的时间。

回答

2

名称

您已经创建下拉菜单尝试使用

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

其他

$("#id option:selected").text() 
+0

反对示例代码是错误的我有ID。 –

3

以下行不正确;你试图连接一个变量名,叫mySelect_整数:

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

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

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

此外,这同一个循环中,你应该从开始1而不是0,因为没有称为mySelect_0的元素。

这里有一个工作DEMO

+0

谢谢$( '[NAME = “mySelect_' + I + '”]' )这是我需要的。 –

相关问题