0

私はこのような私のhtmlページに3つの選択オプションがあります

    <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"/>

最初の選択値がnullでない場合は、アクションをトリガーします。このようなもの。

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

問題は、2番目と3番目ではなく最初の選択でこのアクションに対処する方法がわからないことです(クラス名が同じであるため)。

コードプレビューの最初の選択にIDを設定したくないことに注意してください

4

4 に答える 4

3

:firstセレクターを使用できます。

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

$('.combo:has(option):first')最初のものとは異なり、オプション要素を持つ$('.combo:first:has(option)')最初のものを選択しselect.combo、2番目のものはオプション要素を持つ場合select.comboにのみ最初のものを選択することに注意してください。

于 2012-09-12T14:43:28.047 に答える
2

:first()セレクターjQueryが提供するものを使用してみることができます(http://api.jquery.com/first/)

DOM要素のセットを表すjQueryオブジェクトが与えられると、.first()メソッドは最初に一致する要素から新しいjQueryオブジェクトを構築します。

デモ

于 2012-09-12T14:43:35.730 に答える
1

あなたが何を望んでいるのかわかりません..しかし、これに基づいて答えます...

最初の選択値が null でない場合、アクションをトリガーしたい

おっとっと。選択の最初のオプションを見逃しました。質問を編集しました。オプションが最初の「」以外の場合を意味します

JS:

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

:first選択した要素から最初に一致した要素を選択するために使用されます。

于 2012-09-12T14:56:29.187 に答える
0

jQueryで:firstセレクターを使用して、次のような最初のオプションを取得します。

if ( $('.combo:has(option):first').length > 0 ) { 
   $('#search').val('');
}
于 2012-09-12T14:44:38.760 に答える