我正在编写一个 jQuery 应用程序来帮助用户从在线商店中选择产品。我通过根据他们的选择顺序过滤 XML 来做到这一点。我的代码现在的问题是只选择了第一个选项(我现在只使用 2 个选项)。如果用户首先选择“男性”或“女性”,他们会看到所有男性或女性钱包。但是,如果他们随后选择一种材料,则页面根本不会改变。反之亦然:如果他们首先选择一种材料,他们会看到该材料的所有钱包,但如果他们随后选择一种性别,则不会进一步缩小范围。
这是适用的代码:
$.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);
});
}
});