2013-10-13 52 views
0

有人可以幫我這個問題,我有一個選擇框,看起來像這樣:獲取2倍的值與jQuery

<select name="scatid"> 
<optgroup label="June"> 
    <option>2005</option> 
    <option>2006</option> 
    <option>2007</option> 
    <option>2008</option> 
</optgroup> 
<optgroup label="July"> 
    <option>2005</option> 
    <option>2006</option> 
</optgroup> 

,我也有一個空輸入框...

我想要實現的是,如果例如我從selectbox年選擇2008年(6月optgroup)...輸入框值get automaticaly文本「2008年6月」(optgroup名稱+選項選中)等等等等。

有人可以給我一個例子,我怎麼能做到這一點?非常感謝

回答

1

您可以通過閱讀optgroup元素的label財產獲取標籤

+0

嗨。非常感謝你。這正是我需要的 –

3

只需使用值屬性即可給出所需的值。

<select name="scatid"> 
<optgroup label="June"> 
    <option value="June 2005">2005</option> 
+1

如果你不這樣做,表單結果在提交給服務器時是無法區分的 – Eric

2

有了,你實際上並不想這樣做的條件:

$('select[name="scatid"]').on('change', function(){ 
    var label = this.options[this.selectedIndex].parentNode.label; 
    $('input[type=text]').val(label + ' ' + this.value); 
}); 

http://jsfiddle.net/uEFx3/

$("#scatid").find("option:selected").parent().attr('label') 
0

嘗試使用JQuery:

$(function(){ 
$('select[name="scatid"]').change(function(){ 
    alert($(this).find('option:selected').parent('optgroup').attr('label')+' '+$(this).val()); 
}); 
});