2012-01-24 2 views

答えて

2

の選択子で、、)(http://api.jquery.com/size/をサイズを確認し

($('#Attribute_1 option').size() == 0) ? $('#Attribute').hide() : $('#Attribute').show(); 

あなたはしかし、「空」を定義する必要があります:あなたは結果をトリミングする必要があるので、しかし、それは空白が含まれています。それはあなたが空のオプションタグを持っているのでしょうか?あるいは、テキストや値のないオプションタグが1つしかないのでしょうか? IMO

たり短くし、より良い探しの方法、:

$('#Attribute').toggle($('#Attribute_1 option').length); 
0以降は評価 false

+0

2つのオプションがあるのでサイズが2であるため、これは機能していないと私は信じています – Beginner

+0

@Beginnerはい、なぜ「空」を定義するか尋ねました。上の例は空ですか? – Johan

+0

両方の場合、誰かが上記のドロップダウンをクリックしてそこに表示されているので「空」であるとは限りません。だからいくつかの空のオプションタグやテキストや値のない複数のタグがある場合 – Beginner

2

空であるため、上記のドロップダウンが表示されないようにする

<select dataid="18" id="Attribute_1" name="Product.Attribute_1"> 
<option value=""></option>  
<option></option>  
</select> 

select要素(ドロップダウンリスト)にoption要素が含まれているかどうかを確認する必要があります。それは右だけoption要素のセットのlengthチェックだ場合:(更新質問を参照)

if($("#Attribute_1 option").length) { 
    //There are options 
} 

更新

あなたは、単にselect要素のtextを得ることができます。 textメソッドは、要素とその子孫すべてのテキストコンテンツの連結を返しますので、空の文字列optionがある場合は空の文字列を返します。

if($.trim($("#Attribute_1").text())) { 
    //There are options 
} 
+0

に私はドロップダウンが – Beginner

+0

質問更新 – Beginner

+0

@Beginner空白なオプションを持っていることを言及するのを忘れて申し訳ありません - 更新された答えを参照してください –

関連する問題