2012-09-12 15 views
0

我有這樣的jQuery做三個對象具有相同類名的第一個動作

<select class="combo"> 
    <option value=""></option> 
    <option value="1"></option> 
    <option value="2"></option> 
    <option value="3"></option> 
    </select> 
    <br/> 
    <select class="combo"> 
     <option value="1"></option> 
    <option value="2"></option> 
    <option value="3"></option> 
    </select> 
    <br/> 
    <select class="combo"> 
     <option value="1"></option> 
    <option value="2"></option> 
    <option value="3"></option> 
    </select> 
<br/> 
<button type="submit" class="search_btn"> 
           <img src="media/images/search_icon.png" title="Search" /></button> 
          <input type="text" lang="fa" id="search" name="search"/> 

我想,如果第一選擇值不是空在我的html頁面3選擇選項,觸發行動。像這樣的東西。

if($('.combo').has('option').length > 0) { 
$('#search').val(''); 
} 

的問題是,我不知道如何解決這一行動的第一選擇,而不是第二和第三(因爲它們具有相同的類名)。

請注意,我希望在ID碼預覽設置爲第一選擇

+0

你是什麼意思_select值是不是null_? –

+0

@Vega:OOPS。我錯過了選擇的第一個選項。我剛剛編輯了這個問題。我的意思是當選項是除了第一個「」之外的任何東西 –

回答

3

您可以使用:first選擇:

if ($('.combo:has(option):first').length > 0) { 
    $('#search').val(''); 
} 

注意$('.combo:has(option):first')不同於$('.combo:first:has(option)')第一一個選擇具有選項元素的第一個select.combo,第二個選擇第一個select.combo只有如果臨時t有選項元素。

2

你可以嘗試使用:first()選擇jQuery提供(http://api.jquery.com/first/)

如果提供的jQuery代表了一組DOM元素,在 。首先( )方法從第一個匹配的元素構造一個新的jQuery對象。

DEMO

0

用途:jQuery的第一選擇,以檢索這樣的第一個選項:

if ($('.combo:has(option):first').length > 0) { 
    $('#search').val(''); 
} 
1

我不知道你想要的..但​​要回答在此基礎上...

我想如果第一個選擇值不爲空,觸發一個ac重刑

OOPS。我錯過了選擇的第一個選項。我剛剛編輯了這個問題。我的意思是當所述選擇是除第一什麼「」

JS:

if($('.combo:first').val() == '') { //assuming not NULL means select value 
    $('#search').val(''); 
} 

:first用於選擇從所選擇的元件匹配元件的第一。

相關問題