我知道这可能看似矛盾,但我正在尝试找出当jquery更新值时如何检测文本输入的更改。
在使用该页面的用户中,我的javascript执行此操作:
$('#LicenseOwnerId').val(company.Id);
我想要做的是对设置的值做出反应并执行另一个功能。
到目前为止,我已尝试过以下方法:
var obj = document.getElementById('LicenseOwnerId');
obj.onChange = function () {
alert('select changed!');
};
我试过这个:
$('#LicenseOwnerId').bind('change input propertychange', function(event) {
alert('select changed!');
});
我也试过这个:
$('#LicenseOwnerId').change(function () {
alert('select changed!');
});
当值更新时,这些似乎都没有被触发,我想不出任何其他方法可以尝试将其连接起来。连接它的正确方法是什么(如果有的话)?
我开始怀疑这是否可行,因此也是跨浏览器的安全。
答案 0 :(得分:3)
这很容易:
$('#LicenseOwnerId').val(company.Id).trigger('change');
使用
$('#LicenseOwnerId').change(function () {
alert('select changed!');
});
没有其他方法(没有修改jquery核心方法),你必须自己触发事件。