2010-11-11 59 views
1

好了,所以這是一個棘手的我...jQuery的:如果選擇了選項1顯示的div

我有一個動態創建下拉,如果選擇「其他」是在下拉我想說明格#optionalmess

<select class="VariationSelect" style="width: 95px;"> 
     <option value="">Select Size</option> 
     <option value="1">Example</option 
     <option value="21">Other</option> 
    </select> 

所以如果.variationselect包含選項 「其他」(或值= 「21」)表示#optionalmess

如果 「其他」(值= 「21」)不處於下拉,我想隱藏#optionalmess

即時在正確的軌道上,但我是一個noob,當它來寫它..

請幫助! =)

回答

0

您可以toggle()使用contains selector,結合本:

$('#optionalmess').toggle(
    $(".VariationSelect option:contains('Other')").length > 0 
); 
+0

我嘗試了一些類似於此的內容,我認爲它更像是如果.variationselect選項:contans('Other')顯示optionalmess,但是您在頂部有切換optionalmess ...這一個工作我是如此接近這一點,但不能再浪費時間試圖找出答案。謝謝 – Alex 2010-11-11 23:35:17

+0

這不是一個真正安全的方法,因爲任何在其文本中包含「選項」的東西也會在這裏匹配。 – 2010-11-11 23:36:16

+0

@Nick Craver,但只在變種選擇選項...我得到你說的,但在我的情況下,這工作正常,唯一的其他選項將成爲數字 – Alex 2010-11-11 23:59:31

2

可以使用.toggle(bool)爲隱藏/顯示符合條件,像這樣:

$("#optionalmess").toggle($(".VariationSelect option[value=21]").length>0); 

這看起來與21值的任何<option>.VariationSelect下並檢查.length,看看是否有元素與該選擇器匹配。

+0

嗯不太我不想當選項被選中,我想表明,當選項可用來顯示 – Alex 2010-11-11 23:25:06

+0

@Alex -gotcha ,更新:) – 2010-11-11 23:25:41

+0

太糟糕了,我不得不刷新頁面看到更新...這一個是類似於我用下面..對不起,但德克斯特FTW – Alex 2010-11-11 23:36:16

相關問題