我正在寫一個jQuery應用程序,以幫助用戶從網上商店選擇產品。我通過根據他們的選擇順序過濾XML來做到這一點。我的代碼現在的問題是隻有第一個選項(我現在只用了2個選項)。如果用戶先選擇「男性」或「女性」,則他們看到所有的男性或女性錢包。但是如果他們選擇了一種材料,頁面根本不會改變。相反的情況也是如此:如果他們首先選擇一種材料,他們會看到該材料的所有錢包,但是如果他們選擇了性別,則不會進一步縮小範圍。jQuery序列XML過濾只適用於第一個選項
這裏是適用的代碼:
$.get('wallets.xml', function(data) {
// Get the chosen wallets
if (genderChosen && genderChosen != "" && $walletsChosen instanceof jQuery) {
$walletsChosen.filter('wallet[gender=' + genderChosen + ']');
}
else if (genderChosen && genderChosen != "") {
$walletsChosen = $(data).find('wallet[gender=' + genderChosen + ']');
}
if (materialChosen && materialChosen != "" && $walletsChosen instanceof jQuery) {
$walletsChosen.filter('wallet[material=' + materialChosen + ']');
alert("material chosen, jQuery");
}
else if (materialChosen && materialChosen != "") {
$walletsChosen = $(data).find('wallet[material=' + materialChosen + ']');
alert("material chosen, non-jQuery");
}
// Print the chosen wallets
if ($walletsChosen instanceof jQuery) {
$('#content').empty();
$walletsChosen.each(function() {
var $wallet = $(this);
printWallet($wallet);
});
}
});
這是網址:http://ajaxtest.walletwallets.com/ajax12.php(控制檯中沒有錯誤) – bmcswee
另外,我試着在每個「if」塊中放置警報以確保它們正在執行,並且它們是。 – bmcswee