Jquery 确保使用了所有值

Jquery 确保使用了所有值,jquery,Jquery,我试图确保在我的下拉列表中使用除一个以外的所有值,但是有一个错误,可能会欺骗它。我不知道为什么 您可以在上尝试:并使用值:4 2 3 4-这应该会产生错误,因为没有使用1。我在Windows上使用Firefox HTML: 错误截图。1未使用,但表示有效: 请注意,这是我上一个问题的后续问题:技巧问题,小提琴中的代码与张贴的代码不匹配。小提琴与张贴的代码配合得很好 更新 使用jQuery1.10.1对我来说很有用 使用上面的任何东西,对我都不起作用 我仍然认为这里使用unique是不正确的,因为

我试图确保在我的下拉列表中使用除一个以外的所有值,但是有一个错误,可能会欺骗它。我不知道为什么

您可以在上尝试:并使用值:4 2 3 4-这应该会产生错误,因为没有使用1。我在Windows上使用Firefox

HTML:

错误截图。1未使用,但表示有效:


请注意,这是我上一个问题的后续问题:

技巧问题,小提琴中的代码与张贴的代码不匹配。小提琴与张贴的代码配合得很好

更新

使用jQuery1.10.1对我来说很有用 使用上面的任何东西,对我都不起作用

我仍然认为这里使用unique是不正确的,因为$.unique只对DOM元素起作用。问题答案上的map函数只返回数字,所以unique不起作用是完全有道理的


您的选择应该有不同的名称。另外,你的提琴有一个拼写错误$subumi。有一个正确的提琴与张贴的代码,它工作得很好。我使用相同的名称在一篇文章中获得一个结果数组。我有15个问题中的4个。根据您的选择,我无效:4-3-4-1??查看并选择值4、2、3、4,然后单击测试。这个结果是有效的,而不是-1。@meep如何得到这个结果?对mewell来说效果很好那么看起来你最后一个问题的答案不正确then@A.Wolff您使用的是哪种浏览器?我使用macchrome win7上的FF,通过OP的输入获得有效,而OP的输入应该是无效的
<select name="answer" class="question-answer">
    <option value="-1">Choose value</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<select name="answer" class="question-answer">
    <option value="-1">Choose value</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<select name="answer" class="question-answer">
    <option value="-1">Choose value</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<select name="answer" class="question-answer">
    <option value="-1">Choose value</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<div id="result">d</div>

<button id="submit">Test</button>
var valid_values = [1, 2, 3, 4];

$("#submit").on("click", function(event) {
    event.preventDefault();
    var values = $.unique($('select.question-answer').map(function() {
        var value = $(this).val();
        if (value === "-1") {
            return;
        }
        return value;
    }));
    if(values.length === valid_values.length) {
       $("#result").html("Valid");
    } else {
        $("#result").html("All values (1-4) should be used in answering the question.");
    }
});
var valid_values = [1, 2, 3, 4];

$("#submit").on("click", function(event) {
    event.preventDefault();
    var values = $.unique($('select.question-answer').map(function() {
        var value = $(this).val();
        if (value === "-1") {
            return;
        }
        return value;
    }));
    if(values.length === valid_values.length) {
       $("#result").html("Valid");
    } else {
        $("#result").html("All values (1-4) should be used in answering the question.");
    }
});
$('button').click(function(){

  var values = ['1','2','3','4'];
  var selectValues = [];

  $('select').each(function(){
    selectValues.push($(this).val());
  });

  if($(values).not($(values).not(selectValues).get()).get().length !== values.length) {
     $('#result').html('All values are not used');
  }
  else {
    $('#result').html('All values ARE USED :)');
  }

});