2012-02-14 123 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