You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JQuery通过索引修改数组式输入框的值

解决数组式输入框的修改问题

方法1:直接定位当前点击元素内的输入框(最简洁)

不用计算索引,直接通过点击的.changetext容器找到内部的输入框,避免索引计算可能出现的错误:

$(document).on('click', '.changetext', function(event) {
  event.preventDefault();
  // 找到当前点击容器内的目标输入框并修改值
  $(this).find('input[name="text[]"]').val('ok changed');
});

方法2:利用索引结合jQuery的.eq()方法

如果需要保留索引逻辑,可以用.eq()方法选中对应位置的输入框:

$(document).on('click', '.changetext', function(event) {
  event.preventDefault();
  var index = $('.changetext').index(this);
  // 通过.eq(index)选中对应索引的输入框
  $('input[name="text[]"]').eq(index).val('ok changed');
});

方法3:操作DOM元素修改值

你之前已经能通过field[index].value获取值,同样可以直接修改这个DOM元素的value属性,或者把它转为jQuery对象使用.val()方法:

$(document).on('click', '.changetext', function(event) {
  event.preventDefault();
  var index = $('.changetext').index(this);
  var field = $('input[name="text[]"]');
  
  // 方式A:直接修改DOM元素的value属性
  field[index].value = 'ok changed';
  
  // 方式B:转为jQuery对象后使用.val()方法
  // $(field[index]).val('ok changed');
});

为什么你之前的修改代码无效?

你之前用$('input[name="text[' + index + ']"]')作为选择器,但实际页面中输入框的name属性是text[],而非text[0]、text[1]这类带索引的格式,所以这个选择器无法匹配到任何元素,自然无法修改值。

内容的提问来源于stack exchange,提问作者Solve Error

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:14:52