我使用 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);
})
});
最佳答案
如果我这样做的话。
- 在两者上添加
change
事件监听器。 - 使用在 select 标签中选择的值更新输入
- 从那里触发
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/