2012-02-14 113 views
0

下面是我使用的代码。我有两套列表框。如果选择skill1,那么应该选择expertise1。同样,如果选择技能2,则应选择专业知识2。Jquery第n个孩子价值不与每个函数返回

的HTMl列表框代码

我用
<select size="1" name="prev_specific_function[0][]" id="prev_specific_function" > 
    <option value=""> skills</option> 
    <option value="1"> skills1</option> 
    <option value="2"> skills2</option> 
    <option value="3"> skills3</option> 
    <!-- --> 
</select> 

<select size="1" name="prev_function_expertise[0][]" id="prev_function_expertise" tabindex="18"> 
    <option value="">expertise1</option> 
    <option value="6">exp 1 </option> 
    <option value="5">exp 2 </option> 
    <option value="3">exp 3 </option> 
    <option value="2">exp 4 </option> 

</select><br> 
<br> 
<br> 

<select size="1" name="prev_specific_function[0][]" id="prev_specific_function" > 
    <option value=""> skills2</option> 
    <option value="1"> skills1</option> 
    <option value="2"> skills2</option> 
    <option value="3"> skills3</option> 
    <!-- --> 
</select> 

<select size="1" name="prev_function_expertise[0][]" id="prev_function_expertise" tabindex="18"> 
    <option value="">expertise2</option> 
    <option value="6">exp 1 </option> 
    <option value="5">exp 2 </option> 
    <option value="3">exp 3 </option> 
    <option value="2">exp 4 </option> 
</select> 

jQuery函数是

$("select[name^='prev_specific_function']").each(function(i) { 
    lsval = this.value; 

    if(lsval != '') { 
     cld = $("select[name^='prev_function_expertise']:nth-child("+i+")").val(); 
     alert('CLD: '+cld); 
    } 
}); 

这里我不能得到专业知识列表框中的值。 cld变量作为未定义返回。我做错了什么。请帮忙。由于

回答

2

使用以下命令行

$("select[name^='prev_specific_function']").each(function(i) { 
    lsval = this.value; 

    if(lsval != '') { 

     cld = $("select[name^='prev_function_expertise']").eq(i).val(); 
     alert('CLD: '+cld); 


    } 

}); 

希望这将有助于

+0

感谢。它的工作现在。 – 2012-02-14 06:36:04