2014-01-16 80 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(); 
    } 
} 
); 
相關問題