2013-05-07 78 views
2

我對jquery很新。使用jquery只顯示當前選項的形式

這裏是我的代碼

<script> 
$(document).ready(function(){ 
    $('#bashing_title').change(function(){ 
     if($(this).val() == 1) 
     $('#1').show(); 
     else if($(this).val() == 2) 
     $('#2').show(); 
     else if($(this).val() == 3) 
     $('#3').show(); 
     else if($(this).val() == 4) 
     $('#4').show(); 
     else if($(this).val() == 5) 
     $('#5').show(); 
     else if($(this).val() == 6) 
     $('#6').show(); 
     else if($(this).val() == 7) 
     $('#7').show(); 
     else if($(this).val() == 8) 
     $('#8').show(); 
     else if($(this).val() == 9) 
     $('#9').show(); 

     else 
     $('#1').hide(); 
    }); 
}); 

</script> 

我所試圖做的是,如果該值是1它顯示了一個特定的文本框,如果2,然後另一個等等。但是,如果用戶首先選擇了值爲1的選項,並且用戶稍後選擇了2,則不會隱藏。

如何隱藏於前值,只表明是curretly選擇

回答

5

給你的所有輸入一個類的值,可以縮短代碼如下(Example類的名字是:selectInput

$('#bashing_title').change(function(){ 
    $(".selectInput").hide(); 
    $("#"+this.value).show(); 
}); 

HTML的輸入(遵循這種風格)

<input type="text" id="1" class="selectInput"/> 
+0

哇,完美。謝謝:) – psharma 2013-05-07 16:43:49

+0

確保你驗證答案:)如果你覺得它satifiying。 – Genjuro 2013-05-07 16:47:21

+0

你可以告訴我如何編寫jquery,當我有不同的ID,如「選擇一個原因」或「標題1或標題2」嗎? – psharma 2013-05-07 17:26:52

0

我認爲這應該爲你工作。

$('#bashing_title').change(function(){ 
    var selectvalue = $('#bashing_title').find(":selected").val(); 
    $('#'+selectvalue).show(); 
    }); 
+0

小心,所選選項的文本可能與實際值不同。 – tymeJV 2013-05-07 16:48:12

+0

這不是一個非常乾淨的方式來獲得價值,而且你不隱藏前面的選擇,這是真正的問題。 – 2013-05-07 16:50:32

+0

哦,我看到了,所以這使得我的答案沒用^^很高興你找到了正確的答案。 – Genjuro 2013-05-08 13:56:18