我有一个JQuery滑块。当滑块移动时,一行代码正在改变输入框的val属性。
我试图在输入框的值发生变化时触发函数。但是,它仅在用户通过单击输入框直接更改值时触发。移动滑块什么都不做。
有没有办法获得:
$('#element').change(function(){});
在元素中的数据间接更改时触发?
由于
更新:
这是滑块cod和将值传递给输入框的代码。
$(this).slider({
range : true,
max:projectStart,
min:projectEnd,
step:86400,
values:[ end, begin ],
slide : function(event,ui) {
//if (ui.values[1]>startLimit) {
//ui.values[1]=startLimit;
//return false;
//}
var g = (this.id);
$('#form-' + IDNum + '-StartDate').val(new Date(ui.values[1]*-1000).toDateString());
$('#form-' + IDNum + '-EndDate').val(new Date(ui.values[0 ]*-1000).toDateString());
}
});
答案 0 :(得分:1)
更改值时必须触发更改事件:
$('#form-' + IDNum + '-StartDate').val(new Date(ui.values[1]*-1000).toDateString()).trigger("change");
$('#form-' + IDNum + '-EndDate').val(new Date(ui.values[0 ]*-1000).toDateString()).trigger("change");
或
$('#form-' + IDNum + '-StartDate').val(new Date(ui.values[1]*-1000).toDateString()).change();
$('#form-' + IDNum + '-EndDate').val(new Date(ui.values[0 ]*-1000).toDateString()).change();
答案 1 :(得分:1)
以编程方式更改任何控件的值时,必须明确触发awk 'NR==FNR{a[$1,$2]=$0;next} ($1,$2) in a {$0=a[$1,$2]}1' file2 file1
A1 1 NA
A1 2 NA
A1 3 NA
A1 4 A
A1 5 B
A1 6 T
A1 7 NA
A1 8 NA
A1 9 NA
A2 1 NA
A2 2 NA
A2 3 T
A2 4 NA
事件。
在jquery中有两种方法可以做到这一点。首先在目标控件上调用change
函数,然后调用change()
函数,该函数接受事件名称作为参数。
在您的情况下,以下将是有效的。
trigger("change")