2014-03-02 184 views
3

有誰知道如何在selectboxautoselect?我想要做的是即使存在blank option,選擇框仍然會顯示具有值的選項。選擇非空的第一個選項

有沒有人知道如何在jQuery中做到這一點?

的html代碼:

<select name="name"> 
<option></option> 
<option>Mark</option> 
</select> 

<select name="age"> 
<option></option> 
<option>16</option> 
</select> 
+0

你可以把選項和值的一個前沒有價值 – fiction

+0

這可能有助於你http://stackoverflow.com/questions/4354455/how-to-autoselect-option-取決於輸入值 –

+0

只需在所選的一個上設置「selected」? – adeneo

回答

2

願這可以幫助您:

HTML:

<select name="name"> 
<option></option> 
<option>Mark</option> 
</select> 

<select name="age" id='some'> 
<option></option> 
<option>16</option> 
</select> 

的Jquery:

$($('#some').children()[1]).attr('selected',true) 
0

無需JavaScript來做到這一點,如果你想選擇(馬克)例如,像這樣做

<select name="name"> 
<option></option> 
<option selected>Mark</option> 
</select> 

和XHTML:

<select name="name"> 
<option></option> 
<option selected="selected">Mark</option> 
</select> 
0

如果你想這樣做是爲了頁面上的所有select盒,使用此:

$(function() { 
    $('select').each(function() { 
     $(this).find('option').not(':empty()').first().attr('selected', true); 
    }) 
}); 

它抓住每個select,發現firstoption塔t是notempty(閱讀:裏面有文字)和sets the selected attribute

查看fiddle

1

如果你有一個以上的空option,並沒有訂單,這是我認爲最好的解決辦法:

jsFiddle Live Demo

我們在這裏做,檢查每selectboxeach循環:

$('select').each(function() 
{ 

}); 

然後在循環中,我們findfirst選項是not empty

$(this).find('option:not(:empty)').first() 

,並使其通過選擇prop

$(this).find('option:not(:empty)').first().prop('selected',true); 

所以整個jQuery和HTML將是:

jQuery的

$('select').each(function() 
    { 
     $(this).find('option:not(:empty)').first().prop('selected',true); 
    }); 

HTML

<select name="name"> 
    <option></option> 
    <option>Mark</option> 
</select> 
<select name="age"> 
    <option></option> 
    <option>16</option> 
    <option>20</option> 
    <option></option> 
    <option>55</option> 
    <option></option> 
</select> 
相關問題