jquery取消选中更改值递增输入

标签 jquery checkbox numbers increment

这个问题超出了我的能力范围。

如果我取消选中复选框 3,我想更改输入 3、4、5、6、7、8、9 的值。
如果取消选中复选框 6,我想更改输入 6、7、8、9 的值。
如果我取消选中检查 X,我想更改输入 X++ 的值。

我写了这个 jquery 代码:

<code>
$('input[type=checkbox][name=checkbox_5]').on('change', function () {
  if ($(this).is(":not(:checked)")) {
      $('input[type=text][name=input_5]').val('');
      $('input[type=text][name=input_6]').val('');
      $('input[type=text][name=input_7]').val('');
      $('input[type=text][name=input_8]').val('');
      $('input[type=text][name=input_9]').val('');
  }
});
</code>

我有 9 个复选框。我不想为每个复选框都写这个片段。 你能帮我解决这个问题吗?

我更喜欢使用增量,但我不知道该怎么做。

https://jsfiddle.net/j4q6jm6u/

最佳答案

您可以使用.index()获取单击的复选框的索引,然后使用 :gt() 更改索引大于它的文本字段的值

 
$('input[type=checkbox]').on('change', function () {
  var index = $( "input[type=checkbox]" ).index( this );
  console.log(index)
  if ($(this).is(":not(:checked)")) {    
      $('input[type=text]:gt('+index+')').val('');     
  }else {
     $('input[type=text]:gt('+index+')').val(index);  
  }
});
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>

<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">

关于jquery取消选中更改值递增输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38779304/

相关文章:

javascript - 取消选中 Bootstrap 复选框按钮 - 纯 JavaScript

c++ - 检查完美数字的程序 - 出了点问题

javascript - 单击 Iframe 中的按钮关闭包含 Iframe 的弹出窗口

javascript - 使用JQuery更改背景图像成功,但如何将一张图像设置为默认值

javascript - 谷歌地图 - 未捕获的类型错误 : Cannot set property 'position' of undefined

javascript - 从文本框中获取整数值,如何检查它是 NaN 还是 null 等?

java - 从 a a + b + c = d 字符串中取出第三个数字

javascript - 在 html5 音频元素上使用 jquery 绑定(bind) 'timeupdate'

java - Wicket - 使用复选框禁用/启用文本字段

css - 将复选框的输入样式重置为 IE 中的默认值