javascript - 从一个下拉列表中填写一些输入

标签 javascript jquery

我有一个这样的jsp:

$("select[name='numbers']").change(function() {
  var str = $('#numbers option:selected').text();
  var ret = str.split(" ");
  var str1 = ret[0];
  var str2 = ret[1];
  var str3 = ret[3];
  $("first").val(str1);
  $("second").val(str2);
  $("last").val(str3);
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
  <option value="1 2 3">1 2 3</option>
  <option value="4 5 6">4 5 6</option>
  <option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>
First: <input id="first" name="first" type="text"/><br/>
Second: <input id="second" name="second" type="text"/><br/>
Last: <input id="last" name="last" type="text"/>

我想做的是像这样填写输入:

  • 如果选择了 1 2 3 选项,则在第一个输入中写入 1,在第二个输入中写入 2,在最后一个输入中写入 3;
  • 如果选择了 4 5 6 选项,则在第一个输入中写入 4,在第二个输入中写入 5,在最后一个输入中写入 6;
  • 如果选择了 7 8 9 选项,则在第一个输入中写入 7,在第二个输入中写入 8,在最后一个输入中写入 9;

我尝试过这种方式,但它不起作用:https://jsfiddle.net/L1xj7uge/我想我以错误的方式选择了下拉列表值,但我不知道如何解决。

最佳答案

Updated fiddle .

您应该在这些行的选择器中添加 id 符号 # 以引用 id 属性:

$("#first").val(str1);
$("#second").val(str2);
$("#last").val(str3);

而且 str3 的索引应该是 2 而不是 3,所以:

var str3 = ret[3];

应该是:

var str3 = ret[2];

希望这对您有所帮助。

$("select[name='numbers']").change(function() {
  var str = $('#numbers option:selected').text();
  var ret = str.split(" ");
  var str1 = ret[0];
  var str2 = ret[1];
  var str3 = ret[2];

  $("#first").val(str1);
  $("#second").val(str2);
  $("#last").val(str3);

}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
  <option value="1 2 3">1 2 3</option>
  <option value="4 5 6">4 5 6</option>
  <option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>
First: <input id="first" name="first" type="text"/><br/>
Second: <input id="second" name="second" type="text"/><br/>
Last: <input id="last" name="last" type="text"/>

关于javascript - 从一个下拉列表中填写一些输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240070/

相关文章:

jquery - 将新行添加到 jQGrid 底部

jquery - Jquery中的颜色闪烁?

javascript - GWT - 允许鼠标事件在两个叠加的 Canvas 之间传播

javascript - 如何通过 Javascript 在模态窗口上更改 href 属性

javascript - Javascript 和 jQuery 中的变量命名约定

jquery - 导航中的幻灯片正在跳跃

javascript - 如何使用 jQuery.data 递归扩展数据?

javascript - 从 readFile 内部设置全局数组

javascript - Javascript/NodeJs 中这个函数的等价物是什么?

jquery - 更改滚动背景时 css 和 webkit 出现故障