比较时选择唯一的数组值

时间:2014-07-18 10:21:06

标签: javascript jquery

我正在开发一种工具,根据客户的选择向客户推荐套餐。将向客户展示几组选择。我有一个问题,当我捕捉选择而不是最后提交时,它提供了各种选择。

例如,客户首先会看到4个选项,他们可以选择的最小选项是2个选项。如果客户选择2个选项,3个选项或4个选项,则建议使用包。

如果客户选择4个选项,最后结果显示2,3&的所有答案。 4个选项。我需要根据最大的选择得到答案。

这就是我捕捉价值并显示答案的方式:

   var mapAnswers = {
    "answerA": ["opt1", "opt2"],
    "answerB": ["opt3", "opt4"],
    "answerC": ["opt1", "opt2", "opt3", "opt4"]
};
$('#btn3').click(function () {        
    for (var i in mapAnswers) {
        var valid = true;
        for (var index in mapAnswers[i]) {
            console.log('index : '+index +' sel'+selections[mapAnswers[i][index]]);
            if (selections[mapAnswers[i][index]] !== true) valid = false;
        }
        console.log('test '+i+' valid ? '+valid);
        if (valid === true) $("#" + i).fadeIn("slow");
    }

JSFiddle也可以在这里找到:http://jsfiddle.net/J968n/

1 个答案:

答案 0 :(得分:0)

好的,您可以针对btn3点击:

获取此代码
$('#btn3').click(function () {    
        var choice='';
        for (var i in mapAnswers) {
            var valid = true;
            for (var index in mapAnswers[i]) {
                console.log('index : '+index +' sel'+selections[mapAnswers[i][index]]);
                if (selections[mapAnswers[i][index]] !== true) valid = false;
            }
            console.log('test '+i+' valid ? '+valid);
            if (valid === true) {
                choice=i;
            }
        }   
        if(choice!='')
            $("#" + choice).fadeIn("slow");

        $('#grp2').hide();
        $('#done').html(content);
        $('#grp3').fadeIn("slow");
    });

DEMO