Javascript 3个下拉列表通过jQuery将总数限制为8

Javascript 3个下拉列表通过jQuery将总数限制为8,javascript,jquery,html,Javascript,Jquery,Html,我有3个下拉列表,每个下拉列表有8个选项。现在我的目标是将这3个下拉列表的组合值限制为8。例如,如果你在第一个选择7,你只能在接下来的两个选择1,如果你在第二个选择1,你就不能在第三个选择任何东西 我试图通过禁用某些选项来实现我的目标,但我的逻辑有一个缺陷。一旦我选择了一个选项,我就无法更改我选择的选项,因为我已禁用这些选项。有人知道我如何解决这个问题吗 提前谢谢 下面是一个JSFIDLE作为我的代码示例: 我的jQuery代码: $(".options select").change(fun

我有3个下拉列表,每个下拉列表有8个选项。现在我的目标是将这3个下拉列表的组合值限制为8。例如,如果你在第一个选择7,你只能在接下来的两个选择1,如果你在第二个选择1,你就不能在第三个选择任何东西

我试图通过禁用某些选项来实现我的目标,但我的逻辑有一个缺陷。一旦我选择了一个选项,我就无法更改我选择的选项,因为我已禁用这些选项。有人知道我如何解决这个问题吗

提前谢谢

下面是一个JSFIDLE作为我的代码示例:

我的jQuery代码:

$(".options select").change(function() {
  var value1 = $("#input_1_5").val();
  var value2 = $("#input_1_6").val();
  var value3 = $("#input_1_7").val();
  var sum = parseInt(value1) + parseInt(value2) + parseInt(value3);
  var rest = 9-sum;

  $("#input_1_6 > option").slice(rest,9).each(function() {
    $(this).attr("disabled", true);
    });

  var rest2 = rest - 9
  $("#input_1_7 > option").slice(rest2,9).each(function() {
    $(this).attr("disabled", true);
    });
});

您需要进行变量检查,以查看要启用的项目

var$selects=$(“.options select”).change(函数(){
var总和=0;
$selects.each(函数(){
总和+=+此值;
});
var-rem=9-和;
$selects.each(函数(){
var max=+this.value+rem;
$(this).find('option').prop('disabled',function(){
return+this.value>max;
});
});
});

0
1.
2.
3.
4.
5.
6.
7.
8.
0
1.
2.
3.
4.
5.
6.
7.
8.
0
1.
2.
3.
4.
5.
6.
7.
8.

在您的代码中,您必须从循环中获取ele,它将工作

$(".options select").change(function() {
   var value1 = $("#input_1_5").val();
   var value2 = $("#input_1_6").val();
   var value3 = $("#input_1_7").val();
   var sum = parseInt(value1) + parseInt(value2) + parseInt(value3);
   var rest = 9-sum;

   $("#input_1_6 > option").slice(rest,9).each(function(index, ele) {
      $(ele).attr("disabled", true);
   });

   var rest2 = rest - 9
   $("#input_1_7 > option").slice(rest2,9).each(function(index, ele) {
     $(ele).attr("disabled", true);
   });
});

这比我的答案要好得多:-)很抱歉,您的代码片段似乎不正确working@FrankLucas忘记包含jQuery:(啊,好的,np,非常感谢您的输入!我理解您的逻辑,再次感谢!@ArunPJohny还有一件事,在这个例子中,您使用选项的值,是否可以使用.txt而不是.val实现相同的效果?