我有這個腳本,在html中我選擇了選項值1,2,3,4,5,我想顯示/隱藏其他對象,但我不想爲每個對象使用不同的代碼值:jquery多個值
$('#x').change(function() {
$("#xx")[$(this).val() == "5" ? 'show' : 'hide']("fast");
}).change();
我需要的是從VAL設置多個值()== 「5」 爲val()== 「1,2,3,4,5」 但是這是行不通的。
我該怎麼做?
我有這個腳本,在html中我選擇了選項值1,2,3,4,5,我想顯示/隱藏其他對象,但我不想爲每個對象使用不同的代碼值:jquery多個值
$('#x').change(function() {
$("#xx")[$(this).val() == "5" ? 'show' : 'hide']("fast");
}).change();
我需要的是從VAL設置多個值()== 「5」 爲val()== 「1,2,3,4,5」 但是這是行不通的。
我該怎麼做?
在其最簡單的,你可以只用邏輯或||
多個值:
$("#xx")[$(this).val() == "5" || $(this).val() == "4" ? 'show' : 'hide']("fast");
但隨着多個值這個很快變得很長。在最起碼你應該存儲$(this).val()
一個變量和比較:
var val = $(this).val();
$("#xx")[val == "5" || val == "4" ? 'show' : 'hide']("fast");
但同樣這將讓漫長而笨拙非常快。更好的選擇是存儲可能值的數組,並檢查val()
是任何數組中的值:
var values = ["1","2","3","4","5"];
var val = $(this).val();
$("#xx")[$.inArray(val,values) != -1 ? 'show' : 'hide']("fast");
非常感謝你,你是偉大的人:) –
您可以使用開關:
$('#x').change(function() {
var currVal = $(this).val();
switch(currVal){
case 1:
//your code
break;
case 2:
//your code
break;
case 3:
//your code
break;
case 4:
//your code
break;
case 5:
//your code
break;
}
});
更清楚。當值爲1,2,3或4時,你想要發生什麼? –