2010-11-11 53 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

相关问题