我尝试在用户修复空字段时删除表单上的警报。 我的通用代码适用于用户必须在字段中键入的所有输入元素,但是我的输入具有弹出日历不会触发"更改"如果日期由系统放置在字段中,则为event。我认为当场地失去焦点时会发生变化事件?
$("#my_input").change(function() {
$(".StatusBox").html("");
$(this).unbind("change");
});
我有另一段代码在此之后运行并更改输入字段(用户单击日历日期并因此更新输入)。不应该引发变革事件吗?
答案 0 :(得分:7)
您可以通过`trigger('change')方法以编程方式强制更改事件:
$('#elementID').trigger('change');
当然,这假设$('#elementID')
(仍然)绑定到更改事件......
答案 1 :(得分:3)
使用类似的方法,它总是有效的。
$(function() {
$("#my_input").on("change paste keyup", function() {
alert($(this).val());
});
});
答案 2 :(得分:1)
您可能在页面上加载元素之前附加事件。也许尝试这样做,以便在附加事件之前完成页面加载
$(function() {
$("#my_input").change(function() {
$(".StatusBox").html("");
$(this).unbind("change");
});
});
答案 3 :(得分:0)
您是否尝试过使用 $(“#my_input”)。on('change',function ...?
它与 bind 略有不同,您可以将它放在一个函数中,以便为按需创建的新对象重新运行(因此,它不一定要在“准备好“声明”。