2014-01-16 79 views
-2

只有在下面使用jquery给出的选择菜单中选择“Car”时,我才需要显示输入字段。使用jquery在选择菜单中选择特定值的显示输入框

<select name="type"> 
    <option value="plane">Plane</option> 
    <option value="car">Car</option> 
</select> 

<input type="text" name="name"> 

jQuery有可能吗?

+2

你知道更改事件是什么?你知道如何找到选择的价值吗?你知道如何显示/隐藏元素吗?如果你知道所有三个,把它们放在一起。 – epascarello

+1

为什么这个问题被降低了?什么不清楚?这是一个混帐反射吗?StackOverflow专家,必须点击那个箭头? – Nat

回答

4

使用此:

DOM:

<select name="type"> 
    <option value="plane">Plane</option> 
    <option value="car">Car</option> 
</select> 
<input class="hideme" type="text" name="name"> 

Jscode

$('select').change(function(){ 
if($(this).val()=== "car") 
$('.hideme').show(); 
else 
    $('.hideme').hide(); 
}).change(); 

Working Fiddle

+1

此外,在文档准备好您应该检查选择值:) –

+1

良好的catch.We可以触发change事件选择document.ready。 –

1
<select name="type" onchange="showTextBox(this.value)"> 
    <option value="plane">Plane</option> 
    <option value="car">Car</option> 
</select> 
<input type="hidden" id="MyBox"> 
<script> 
function showTextBox(item){ 
     if(item=="car"){$('#MyBox').show();} 
} 
</script> 
+0

您的答案中没有定义'hideme'类。如果选择“平面”,则不会隐藏“MyBox”,如果选择“Car”,则在页面加载时不显示“MyBox”。 –

+0

@BernhardHofmann请正确阅读这个问题,我根本不需要hideme课。我可以简单地把type =“hidden”。为什么-1这个答案,我不明白。 –

+0

您的编辑修正了“未选择汽车”时输入框可见的事实。这就是投票的原因;它没有提供有效的答案。现在您已经修复了投票。 –

2

你可以使用toggle方法:

$(function() { 
    $('select[name=type]').change(function() { 
     $('input[name=name]').toggle(this.value === "car" ? true : false); 
    }).change(); 
}); 
+0

这是关于知名度,你知道... –

+0

@SilviuBurcea我不明白你的意见? –

+0

哦,对不起,我误解了你的切换功能。我以为你正在设定输入值。 –

1

您可以添加一个空的选项,这样做:

$("[name='type']").change(
function(){ 
    if($(this).val() == "car"){ 
    $("[name='name']").show(); 
    }else{ 
    $("[name='name']").hide(); 
    } 
} 
); 
相关问题