javascript - 当我使用 jQuery 从 select 中选择选项时,如何触发输入的更改事件?

标签 javascript jquery html events

我使用 jQuery 在我的项目中触发一个事件。当我从选择中选择一个选项时,我想触发输入事件更改,当我选择一个选项时,输入值将随选项值一起更改并显示新值的长度。

此外,我想触发输入中的事件更改,但它对我不起作用,我尝试了很多次但不起作用:

$(document).ready(function() {
  var oldVal;
  var checkLength = function(val) {
    $('label').html(val.length);
  }

  $('input').bind('change textInput input', function() {
    var val = this.value;
    if (val !== oldVal) {
      oldVal = val;
      checkLength(val);
    }
  });

  $("select").change(function() {
    var str = "";
    $("select option:selected").each(function() {
      str += $(this).text() + " ";
    });
    $("input").val(str);
  })
}); 

最佳答案

如果我这样做的话。

  1. 在两者上添加 change 事件监听器。
  2. 使用在 select 标签中选择的值更新输入
  3. 从那里触发 change 事件

$("#s").change(function(){
   console.log("Option selected");
   $("#d").val($(this).val());
   $("#d").trigger("change");
});

$("#d").change(function(){
  console.log("input modified")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" id="d" />

<select id="s">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

关于javascript - 当我使用 jQuery 从 select 中选择选项时,如何触发输入的更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230894/

相关文章:

javascript - 如何使用 CasperJs 设置区域设置?

javascript - 如果更改了任何字段,则更改表单背景颜色

javascript - 正则表达式仅匹配javascript中字符串的时间值

javascript - jQuery - AJAX load() 方法不起作用

html - Bootstrap 导航栏中具有独立自定义下拉列表的 Div

javascript - 单元测试错误 : Cannot call Promise. 然后来自同步测试

javascript - 为什么 d3 的 select() 和 selectAll() 在这里表现不同?

jquery - jquery中如何验证空格

javascript - "False"文本节点造成问题

html - 消除悬停时的 div 移动