javascript - jQuery 根据第一个输入的文本框值填充以数组命名的表单字段

标签 javascript jquery

我有一个包含可变数量输入的数组

<form>
<label for="same">all the same as first?</label>
<input type="text" id="foo[1]" name="foo[1]" value="" />
<input type="text" id="foo[2]" name="foo[2]" value="" />
<input type="text" id="foo[3]" name="foo[3]" value="" />
<input type="text" id="foo[4]" name="foo[4]" value="" />
<input type="text" id="foo[5]" name="foo[5]" value="" />
</form>

我的想法是,当我在第一个字段 (foo[1]) 中放置一些值时,我需要 jQuery 或 Javascript 从 #foo[1] 复制值根据数组分为 #foo[2]#foo[3] 等。

最佳答案

您是否需要以下行为:

$(document).ready(function(){
  
  $("input[id^=foo\\[]").prop("disabled",true); //disable all elements first
  $("input#foo\\[1\\]").prop("disabled",false); //then enable the first one 
  
  $("input#foo\\[1\\]").change(function(){
    var source = $(this);
    var currentVal = $(source).val();
    $("input[id^=foo\\[]").each(function(){
      if(!$(this).is(source))
        $(this).val(currentVal);
    });
  });  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form>
<label for="same">all the same as first?</label>
<input type="text" id="foo[1]" name="foo[1]" value="" />
<input type="text" id="foo[2]" name="foo[2]" value=""/>
<input type="text" id="foo[3]" name="foo[3]" value=""/>
<input type="text" id="foo[4]" name="foo[4]" value=""/>
<input type="text" id="foo[5]" name="foo[5]" value=""/>
</form>

关于javascript - jQuery 根据第一个输入的文本框值填充以数组命名的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33938696/

相关文章:

javascript - 为什么 jquery 移动按钮显示为迷你?

javascript - 当游戏状态包含函数时存储游戏状态

javascript - 在 $(document).ready 期间无法更改在 $(document).ready 期间添加的元素

javascript - 通过 jQuery 比较元素

jquery - 如何仅将背景颜色添加到按钮区域?

javascript - Highcharts - 如何在图例中获得虚线

javascript - 使用jquery定位元素的top属性

javascript - Pusher.com - 如何使用 channel

javascript - 更改克隆中的某些内容

javascript - 使用 javascript/jQuery 循环遍历 JSON 结构