我有一个jquery datepicker函数,它在更改input[type="text"]
值后触发。首先,请看一下html布局:
<input type="text" id="date_of_birth" value="" />
<table>
<thead>
<tr>
<th>1st Date</th>
<th>2nd Date</th>
<th>3rd Date</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" d="5" value="" /></td>
<td><input type="text" d="6" value="" /></td>
<td><input type="text" d="9" value="" /></td>
</tr>
</tbody>
</table>
实际发生的事情是,每个input[type="text"]
附加了datepicker。现在,当有人在#date_of_birth
输入中更改日期时,它会更改下表中input
个字段的日期,方法是添加在这些输入字段的d
属性中所述的天数。表。如果我通过手动选择datepicker日期来更改#date_of_birth
,则效果很好。
但是,如果我通过从数据库(通过查询)接收出生日期来更改#date_of_birth
,则change
#date_of_birth
事件未被触发,作为以下结果的日期表格没有变化。
$('body').on('click', '#selector', function() {
$.ajax({
url,
data: data,
type: "POST",
dataType: "json",
success: function(cbdata) {
update_table(cbdata);
}
});
});
上述update_table(cbdata)
函数会将出生日期插入#date_of_birth
字段。但是这不能触发change event
到该输入字段。即使我在ajax调用之后添加$("#date_of_birth").change()
,它也无法更改下表的输入字段的日期。
如何在ajax调用后触发更改事件,以便jquery可以自动更改下表的输入字段的日期?
答案 0 :(得分:0)
触发事件的一种方法是使用jquery触发器函数。
loopback-explorer
答案 1 :(得分:0)
function changeDate(){
$.ajax({
url,
data: data,
type: "POST",
dataType: "json",
success: function(cbdata) {
update_table(cbdata);
}
});
}
$('#selector').on('click', changeDate);
因此,您可以在需要时调用 changeData()。