如果我在框1中选择选项,我如何隐藏选择框2?

时间:2013-04-06 10:27:02

标签: jquery show-hide html-select

我需要帮助!我想隐藏第二个选择框,通过更改选择框1。

如果我在选择1上选择value 1,则隐藏选择框2。如果我选择value 2,则显示选择框2。

<tr class="variantCombobox">
<td class="label Flasche" valign="top">Flasche:</td>
<td>
<select id="variants[1]" name="variants[1]">
<option selected="selected" value="1">Esmeralda 100ml</option>
<option value="16">Esmeralda Geschenke-Set</option>
<option value="2">Picasso 200ml</option>
<option value="17">Picasso Geschenke-Set</option>
<option value="3">Carree 200ml</option>
</select>
</td>
</tr>
<tr class="variantCombobox">
<td class="label Gläser" valign="top">Gläser:</td>
<td>
<select id="variants[3]" name="variants[3]">
<option selected="selected" value="18">Bitte wählen...</option>
<option value="19">Likörglas 1</option>
<option value="20">Likörglas 2</option>
</select>
</td>
</tr>


var selectGlasses = 'tr.variantCombobox td.Flasche';
var selectedPresent = jQuery("[value='1']");
jQuery(selectGlasses).parent().next().hide();
jQuery('select').click(function(){
jQuery('option').find(function(){if ('select').contains(selectedPresent)});
jQuery(selectGlasses).parent().next().hide();
});

我的3个问题是,我的英语非常糟糕,我无法更改选择框的类或ID,我的脚本不起作用。

2 个答案:

答案 0 :(得分:0)

selectedVal=$('#variants[1] option:selected').val();

if(selectedVal==1)
$('#variants[3]').hide();

else if(selectedVal==2)
$('#variants[3]').show();

答案 1 :(得分:0)

实际上你必须逃脱你元素的ids:

如果是:

id="variants[3]"

然后jQuery选择器将是:

jQuery("#variants\\[3\\]")

这是一个jsFiddle示例:http://jsfiddle.net/Kj2rM/

$(function() {
var selectGlasses = 'tr.variantCombobox td.Flasche';
var selectedPresent = jQuery("[value='1']");
jQuery(selectGlasses).parent().next().hide();
jQuery('select:first').change(function() {
    var selectedVal=jQuery(this).val();
    if(selectedVal==1) {
        $('#variants\\[3\\]').closest("tr").hide();
    }
    else if(selectedVal==2) {
        $('#variants\\[3\\]').closest("tr").show();
    }
});                                     
});