Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery顺序XML筛选仅适用于所选的第一个选项_Jquery_Xml - Fatal编程技术网

jQuery顺序XML筛选仅适用于所选的第一个选项

jQuery顺序XML筛选仅适用于所选的第一个选项,jquery,xml,Jquery,Xml,我正在编写一个jQuery应用程序来帮助用户从在线商店中选择产品。我通过根据他们的选择顺序过滤XML来实现这一点。我的代码现在的问题是只选择了第一个选项(我现在只使用两个选项)。如果用户首先选择“男性”或“女性”,他们会看到所有男性或女性钱包。但是如果他们选择了一种材料,页面就不会改变。相反的情况也是如此:如果他们先选择一种材料,他们会看到该材料的所有钱包,但如果他们选择了一种性别,就不会进一步缩小范围 以下是适用的代码: $.get('wallets.xml', function(data)

我正在编写一个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);
    });
}
});

.filter
生成源集的筛选版本。它不会改变集合本身


您希望使用
$walletsChosen.filter(…)
而不仅仅是
$walletsChosen=$wallestselected.filter(…)

以下是URL:(控制台中没有错误)此外,我还尝试在每个“if”块中放置警报,以确保它们正在执行,并且确实执行了。谢谢!对我来说,这是一个非常愚蠢的疏忽。。。(对不起)