2015-10-26 48 views
2

只有在選擇了某些菜單選項時,我才使用a jQuery solution中的下一個代碼塊來顯示特定的div塊。我不是jQuery專家,但我認爲$.viewMap塊可以進行優化,所以當我想在該菜單中添加更多選項時,不需要每次重複$([])$("#price").parent('div')部分。有什麼建議麼?如何用jQuery製作一個選項數組?

$.viewMap = { 
    '' : $([]), 
    '2' : $([]), 
    '4' : $("#price").parent('div'), 
    '7' : $("#price").parent('div') 
}; 

UPDATE

我更新了我的代碼,通過@epascarello的建議:

var x = $([]); 
var y = $("#price").parent('div'); 

$.viewMap = { '' : x, '2' : x, '4' : y, '7' : y }; 

,但我想是這樣的:

var x = $([]); 
var y = $("#price").parent('div'); 

$.viewMap = {'null, 2' : x, '4, 7' : y}; 
+0

PHP數組如何應用於JavaScript? – epascarello

+1

因此在外部存儲對其的引用並引用數組中的變量。 'var x = $(「#price」)。parent('div');'和''4':x,'7':x' – epascarello

+1

僅供參考,這是一個對象,而不是數組。 – Barmar

回答

0

最後我改變所有的jQuery代碼(感謝@Yasitha):

jQuery(document).ready(function($) { 
    var cat = ["4", "7"]; // option values for which a specific div block is displayed 
    $("#price").parent('div').hide(); 

    $('#category').change(function(){ 
     if($.inArray($('#category').val(), cat) > -1) { 
      $("#price").parent('div').show(); 
     } else { 
      $("#price").parent('div').hide(); 
     } 
    }); 
}); 
相關問題