【发布时间】:2014-05-17 02:12:43
【问题描述】:
我正在使用一个包含收音机/复选框组件的 jQuery 库(是的,我知道使用 jQuery 对 Angular 不利,但这不是我使用该库的选择,我无法更改它)并且我在刷新时遇到了问题ng-model 数据(radio 库中的组件在 radio 值改变时做一个简单的点击触发事件)。
我注意到,虽然单击触发器对建模没有任何作用,但触发两次可以解决问题(但这不是我想要解决此问题的方式)。我准备了一个简单的fiddle- 一个小例子来说明我的问题。首先单击(在下面的代码中执行 changeInput(1, 1) )按钮会更改 DOM,但对角度模型没有任何作用 - 而仅单击单选按钮就可以了。执行 changeInput(1,2) 与单击 radio 元素完全相同。
function changeInput(obj, num){
for(var i = 0; i < num; i++){
$('input').eq(obj).click();
}
}
我还能做什么?在阅读 stackoverflow 时,我注意到人们说触发“输入”可以解决问题 - 但不是那种情况(JSFiddle)。触发两次点击是解决这个问题的唯一方法吗?
【问题讨论】:
-
为什么不使用
ng-click? -
正如我在问题中所说的那样,我正在使用外部组件库,它在无线电更改上执行 trigger('click') - 我需要使用我的 Angular 应用程序“使其工作” .
-
不清楚你在这里有什么限制?你能改变什么,什么是你无法改变的?
-
ExpertSystem,在这个问题中,我只想知道如何进行模型更改,而不是通过触发两次点击。但在现实世界中,如果我的附加组件比触发两次点击更好,我想我可以请求拉取:-)
-
@patryk:你试过我的回答了吗?它对你有用吗?
标签: javascript jquery html angularjs