2015-12-23 72 views
2

我有不同數量的選擇字段與NE名獲得小組中的所有選擇的選項,如果選擇字段

<select name="group[1]" onChange="showMeAllSelectedGroups(); return false;"> 
    <option value="46">Rot</option> 
    <option value="1">Blau</option> 
</select> 


<select name="group[6]" onChange="showMeAllSelectedGroups(); return false;"> 
    <option value="a">a</option> 
    <option value="b">b</option> 
</select> 

現在我需要從每一個選擇場的所有選擇的選項,當他們中的一個被改變時。

function showMeAllSelectedGroups() {  
    $("select").each(function() {  
     alert($(this).val()); 
    }); 
} 

這工作得很好,但我給我的每一個選擇字段的值在頁面上,我只需要有選擇字段選定選項的名稱爲

這不起作用:

function showMeAllSelectedGroups() {  
    $("select[name='group']").each(function() {  
     alert($(this).val()); 
    }); 
} 

我在做什麼錯?

+1

你必須選擇與名' 「組[1]」'和' 「組[6]」 '在哪裏使用'name ='group'',我想你正在尋找'$(「select [name^='group']」)' – Satpal

+0

嘿,謝謝你! :)) – AdmiralCrunch

回答

1

啓動正如其他人所建議的那樣,您需要操作員01開始,而是從name你可以使用正則表達式/group\[(\d+)\]/得到數: -

function showMeAllSelectedGroups() { 
 
    $("select[name^='group']").each(function() { 
 
    var number = /group\[(\d+)\]/.exec(this.name)[1]; 
 
    $('body').append("<div>group number = " + number + "</div>"); 
 
    $('body').append("<div>select value = " + $(this).val() + "</div>"); 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select name="group[1]" onChange="showMeAllSelectedGroups(); return false;"> 
 
    <option value="46">Rot</option> 
 
    <option value="1">Blau</option> 
 
</select> 
 

 

 
<select name="group[6]" onChange="showMeAllSelectedGroups(); return false;"> 
 
    <option value="a">a</option> 
 
    <option value="b">b</option> 
 
</select>

+0

嘿人,非常感謝你:) – AdmiralCrunch

1

它沒有工作的原因是,select[name='group']是錯誤的選擇器,目標元素名稱爲group[1]group[6]select[name='group']只會尋找那些具有name=group

可以,而使用屬性元素與選擇開始:

$("select[name^='group[']").each(function() {  
    alert($(this).val()); 
}); 
+0

謝謝:) ..那工程 – AdmiralCrunch

+0

多一個問題..有沒有辦法找出組的索引[]? ...我的意思是**小組的** 6 ** [6] **? – AdmiralCrunch

+0

看起來像你已經得到了答案:) –

1

您需要使用與選擇https://api.jquery.com/attribute-starts-with-selector/

function showMeAllSelectedGroups() {  
 
    $("select[name^='group']").each(function() {  
 
     alert($(this).val()); 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<select name="group[1]" onChange="showMeAllSelectedGroups(this); return false;"> 
 
    <option value="46">Rot</option> 
 
    <option value="1">Blau</option> 
 
</select> 
 

 

 
<select name="group[6]" onChange="showMeAllSelectedGroups(this); return false;"> 
 
    <option value="a">a</option> 
 
    <option value="b">b</option> 
 
</select>

+0

多一個問題..有沒有辦法找出組的索引[]? ...我的意思是**小組的** 6 ** [6] **? – AdmiralCrunch

相關問題