2013-12-12 109 views
2

我有一個包含約2000項的品牌列表,我的問題是我想生成一個命令列表在jquery中動態使用這種格式。從數組中生成jquery列表

$("select[name='brand']").change(function() { 
    $("#brand1,#brand2").hide(); 
    if ($(this).val() == "brand1") { $("#brand1").show(); } 
    else if ($(this).val() == "brand2") { $("#brand2").show(); } 
     and so on... 
}); 

的品牌位於MySQL的我帶入一個數組列表稱爲

allBrands []在PHP

所以如果在MySQL品牌更新,它將也在jquery腳本中更新。

很顯然,我可以手動輸入每個品牌,但我擔心,當我更新新品牌等數據庫..

編輯:這樣說,如果我能在jQuery的做一個MySQL電話和以這種方式獲得品牌名單,這也會起作用。 Brand1,brand2 =例子,名稱是隨機的基於品牌

回答

1

如果數據以同樣的方式訂購了2例建議你可以試試這個:

$("select[name='brand']").change(function() { 
    $("[id^=brand]").hide(); // all id's starting with the word "brand" 
    $("#" + this.value).show(); // if the value is the same as the id you want to target 
}); 

關於jQuery的^=,讀here

如果品牌不以品牌開始,您可以使用$(".brands").hide();,並使用我發佈的剩餘品牌。

+0

對不起,我不知道jquery那麼好,你能解釋一下你的新代碼是如何工作的嗎? id ^做什麼? MySQL中的數據在名爲品牌的列中,brand1品牌2就是一個例子。 –

+0

@AlbertD,只是在該選擇器上添加了更多信息的鏈接。此外,並沒有我的__many__保留有關w3schools,這是一個鏈接與許多不同的選擇器:http://www.w3schools.com/jquery/jquery_ref_selectors.asp – Sergio

+0

你從哪裏得到this.value?你如何生成所有品牌的jQuery列表,我不能使用第一個例子,因爲品牌沒有編號,他們是品牌的隨機名稱,但感謝您的鏈接,以幫助我理解它.. –