如果键入文本不为空,如何选中多个复选框

时间:2015-07-17 12:07:05

标签: jquery checkbox

我得到了一个像这样的输入

<input type="number" min="0" name="quantity'.$read['id'].'" value="0" placeholder="Something" />

<input type="checkbox" name="productid[]" />

如果多个复选框和输入数字的值大于0,我如何选中复选框

4 个答案:

答案 0 :(得分:0)

jQuery适用于元素集。考虑选择器来选择您感兴趣的元素集,然后您可以使用它们的值和属性。

 var check = false;
    $('input[type="number"]').each(function()
          {
          if (check || $(this).val() > 0)
              { check = true; }
          }
     $('input[type="checkbox"]').prop('checked',check);

答案 1 :(得分:0)

如果我正确理解了您的目标,则您有多个编号的数字和复选框输入对,没有链接它们的属性。最好通过某些属性/类/代码/等链接它们,但如果配对总是可以通过数字后跟复选框来完成,则可以使用.next获取更改后的输入后面的复选框:

$('input[type=number]').change(function(){
      if(this.value > 0)
          $(this).next('input[type=checkbox]')[0].checked=true;
});

Fiddle

它监视任何类型编号输入的更改,检查其值(this)并设置最近的类型输入复选框以进行检查。

<强> 修改

要检查和取消选中是否可以跳过并直接用作设置的值:

$('input[type=number]').change(function(){
    $(this).next('input[type=checkbox]')[0].checked= this.value > 0;
});

Fiddle

答案 2 :(得分:0)

你的问题不是那么清楚。无论如何,我想象这样的情况:

<div class="input-container">
  <input type="number" min="0" name="quantity'.$read['id'].'" value="0" placeholder="Something" />
  <input type="checkbox" name="productid[]" />
</div>

您可以通过以下方式检查输入的增量:

$('input[name=quantity]').on('change', function(){
  var isMoreThenZero = $(this).val() > 0;
  $(this).siblings('input[type=checkbox]').prop('checked', isMoreThenZero);
});

另一种解决方案!

html方面更自由:

  <input data-target="productid[]" type="number" min="0" name="quantity'.$read['id'].'" value="0" placeholder="Something" />
  <input type="checkbox" name="productid[]" />

您可以通过以下方式检查输入的增量:

$('input[name=quantity]').on('change', function(){
  var isMoreThenZero = $(this).val() > 0;
  var target = $(this).data('target');
  $('input[name='+target+']').prop('checked', isMoreThenZero);
});

答案 3 :(得分:0)

这个工作对我很好,这里我用#符号将数组转换为字符串,你可以使用push for array。

    <input type="checkbox" value="created" name="today_check"><strong>&nbsp;Created&nbsp;&nbsp;</strong>
    <input type="checkbox" value="modified" name="today_check"><strong>&nbsp;Modified&nbsp;</strong>    
 <a class="get_tody_btn">Submit</a>
<script type="text/javascript">
        $('.get_tody_btn').click(function(){
            var vals = "";
            $.each($("input[name='today_check']:checked"), function(){  
                vals += "~"+$(this).val();  
            });
            if (vals){
                vals = vals.substring(1);
            }else{
                alert('Please choose atleast one value.');
            }


        });
    </script>