- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 radio /复选框组件的 jQuery 库(是的,我知道使用 jQuery 对 Angular 来说很糟糕,但这不是我选择使用该库,我无法更改它)并且我遇到了刷新问题ng-model 数据(库中的单选组件在单选值更改时执行简单的点击触发事件)。
我注意到,虽然一次单击触发器对建模没有任何作用,但触发两次可以解决问题(但这不是我想要解决此问题的方式)。我准备了一个简单的fiddle - 我的问题的一个小例子。第一次单击按钮(在下面的代码中执行changeInput(1, 1))会更改 DOM,但对 Angular 模型没有任何作用 - 而仅单击单选按钮就可以了。执行changeInput(1,2) 与单击单选元素完全相同。
function changeInput(obj, num){
for(var i = 0; i < num; i++){
$('input').eq(obj).click();
}
}
我还能做什么?在阅读 stackoverflow 时,我注意到人们说触发“输入”可以解决问题 - 但在这种情况下则不然( JSFiddle )。触发点击两次是解决这个问题的唯一方法吗?
最佳答案
在 Angular 中,事情并不像你习惯的那样工作。一旦习惯了它,您将享受到代码更加简单和声明性的特点。
你说:
“在这个问题中我只想知道如何更改模型”
尽管如此,在您的尝试中,您正在尝试通过更改 View (以编程方式)来更改模型。这既不直观,在可维护性方面也是一场噩梦。
在 Angular 中,您应该担心您的数据(模型)并观察 View 自动适应。
所以,如果您想更改模型,那么您需要做的就是......好吧,更改模型:
<input type="radio" name='test' ng-model="value" value="0" />
<input type="radio" name='test' ng-model="value" value="1" />
<button ng-click="changeInput(0)">Change value to 0</button><br/>
<button ng-click="changeInput(1)">Change value to 1</button><br/>
function Ctrl($scope) {
$scope.value = 0;
$scope.changeInput = function (newValue) {
$scope.value = newValue;
}
}
<子>为了让 Angular 发挥其魔力并更新 View ,您需要在 Angular 上下文中执行操作(用 ng-click
而不是 onclick
来处理这个问题)。如果出于某种原因您无法使用 ng-click
,您需要通过将代码包装在 changeInput()
中来让 Angular 了解某些更改。函数位于 $scope.apply()
。
另请参阅此 short demo 。
关于javascript - ng-model 内部 radio 输入刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653639/
我对软件 radio 感兴趣。我基本上没有涉及任何电气工程或数学主题的经验,但我正在阅读...... 与其尝试处理天线和 ADC 的硬件方面,我想它会很有趣(而且更便宜)来播放一些预先录制的(甚至是实
我是 C++ 的新手,想了解一些东西。我的 main.cpp 中有这段代码: Radio r = Radio("PSR", 100.8); 或者那个代码: Radio r("PSR", 100.8);
我是 C++ 的新手,想了解一些东西。我的 main.cpp 中有这段代码: Radio r = Radio("PSR", 100.8); 或者那个代码: Radio r("PSR", 100.8);
如何将选定的 radio (从 radio 组)复制到另一个 radio ?这是我的jsfiddle:http://jsfiddle.net/fu3oyscq/1/ 这是我的jquery $("#co
我有这个表格: 1 X 2 1 2 我想实现这个: If a=1 then b=1 If a=X then unset b If a=2 then b=2 我尝试了这个,但没有任何作用: $
我为什么要为此苦苦挣扎? 我有一个值:5 如何查看值为 5 的组“mygroup”的单选按钮? $("input[name=mygroup]").val(5); // doesn't work? 最佳
正如标题所说例如: User1 User2 如何获取文本:用户 1 最佳答案 $('input:radio:checked').siblings('label:first').html() 更新:
无法在 Bootstrap radio 组中检查 radio 。只有 div 处于事件状态。 Link Bootstrap 单选组: Enabled Disa
如何禁用 radio 组中的一个 radio 输入? Option1 Option2 Option3 Option4 我的问题是我想在单击任何其他按钮后禁用选项1 例如: when i sele
我正在使用 jQuery 验证来验证其上设置了单选按钮的表单(在本例中设置 = 两个单选按钮)。带标签的单选按钮如下。该表单位于 jQueryUI 对话框上。 Yes No 我从 jquery.com
我有一个包含 26 个问题的表格,所有问题都有单选按钮组作为用户的答案选择(它计算给定属性(property)上特定入侵植物物种的风险因素)。最后,将每个 radio 组中的选定值相加。 让事情变得复
我创建了一个单选组列表并将它们附加到一个产品类别。因此,我正在做的是检查该类别应具有的组,然后选取该类别可用的这些组中的单选值并将其显示给用户进行填充。 接下来我想将它们传递给我的 ajax 函数,然
圆形边缘刚好从正方形或圆形中伸出,因此如果我在 before 之前提供白色背景,则 radio 边缘仍然略微可见。 input[type=radio] { box-sizing: border-b
我找到了一个纯 CSS 星级系统,但是对于给定的代码,我只能在每个页面上使用一个星级系统。我试过更改类(class)名称,但不幸的是,第二个星级评分表在按下时会检查第一个星级评分表。有什么办法解决这个
我有一个包含 radio 输入和标签的无序列表。当用户点击列表项时,它会切换一些信息并选择单选输入。 但是,由于上述原因,如果用户点击实际的 radio 输入本身,它不会选择它,因为我猜点击是针对 r
我想使用一些 radio 输入创建一个表单。检查输入时,还会使用 jQuery 自动检查另一个 radio 。 例如: 问题1:A(勾选),B,Cquestion2: D(auto checked),
如果我检查了名称为“most1”且值相同的单选按钮,如何禁用名称为“least1”的单选按钮 最佳答案 在
如何在选择第一个 radio 输入时选择所有复选框并在选择第二个 radio 输入时取消选中所有复选框? (Javascript)? 我在这里研究过以前的类似问题,但它们似乎都是关于使用复选框而不是单
Please, please check me Am I selected ? 我想要以下行为: 当 myCheckbox 被选中时,myRadio 将被选中。 当 myCheckbox
我知道无符号数永远不会小于 0,因此无需对其进行测试。但我想避免调谐器出现虚假频率。 /* freqKHz is in KHz (duh) */ void videoinput_set_tuner
我是一名优秀的程序员,十分优秀!