输入值总和的逻辑

时间:2016-10-21 10:48:46

标签: javascript jquery html input logic

我创建了4个带加号和减号的输入框来增加和减少该值。我想建立一个逻辑,一旦所有4个值的总和加起来为5,它应该禁用加号按钮,不允许用户添加更多。

这是HTML:

<div id="field1">field 1
    <button type="button" id="sub" class="sub">-</button>
    <input type="text" id="1" value="0" class="field" />
    <button type="button" id="add" class="add">+</button>
</div>
<div id="field2">field 2
    <button type="button" id="sub2" class="sub">-</button>
    <input type="text" id="2" value="0" class="field" />
    <button type="button" id="add2" class="add">+</button>
</div>

<div id="field2">field 3
    <button type="button" id="sub3" class="sub">-</button>
    <input type="text" id="3" value="0" class="field" />
    <button type="button" id="add3" class="add">+</button>
</div>

<div id="field2">field 4
    <button type="button" id="sub4" class="sub">-</button>
    <input type="text" id="4" value="0" class="field" />
    <button type="button" id="add4" class="add">+</button>
</div>

这是我用来增加/减少值的jQuery:

$("input").prop('disabled', true);

$('.add').click(function () {
    $(this).prev().val(+$(this).prev().val() + 1);    
});

$('.sub').click(function () {
    if ($(this).next().val() > 0) $(this).next().val(+$(this).next().val() - 1);    
});

1 个答案:

答案 0 :(得分:0)

这应该有效

$('.add').click(function () {
var value1 = $('#field1').find('input').val();
var value2 = $('#field2').find('input').val();
var value3 = $('#field3').find('input').val();
var value4 = $('#field4').find('input').val();
  if ( value1 + value2 + value3 + value4 >= 5){
    $('.add').prop('disabled', true);
  } else {
    $(this).prev().val(+$(this).prev().val() + 1);
  }
});