我有以下复选框:
input(type='checkbox', ng-model='auto', ng-checked='auto', ng-change='save()')
只要我从ng-change
中的方法保存它,它就会正确保存自动值,但应用程序也会侦听SSE(服务器已发送事件)以更新该值:
一个简单的例子:
$scope.$watch(Auto.getNewValue, function (newAutoValue) {
if (newAutoValue !== null) {
$scope.auto = newAutoValue;
}
});
即使来自$watch
的值为false
,但之前我检查过该复选框仍然处于选中状态。如何取消选中AngularJS的复选框?
答案 0 :(得分:1)
我解决了它只是在我的输入复选框中添加了几个ng
属性。它现在看起来像这样:
input(type='checkbox', ng-model='auto', ng-true-value='true', ng-false-value='false', ng-checked='auto', ng-change='save()')
ng-true-value
和ng-false-value
解决了我的问题。
现在一切正常......(即使我还不知道为什么......哈哈)
答案 1 :(得分:1)
尝试下面的复选框
<input type="checkbox" ng-model="yourmodel" ng-true-value='true' ng-false-value='false' class="checkbox" id="schedule_active"/>
已经提供了答案,只是为了让其他人快速复制粘贴,我已经添加了上面的代码。
答案 2 :(得分:0)
来自https://docs.angularjs.org/api/ng/directive/ngChecked:
如果表达式在里面,则设置元素的checked属性 ngChecked是真的。
Ng check可以表达。那么也许创建一个函数,从你需要发生的任何事件中返回false?
DECLARE @FromDate AS DATE='04-Aug-2015'
DECLARE @ToDate AS DATE='05-Aug-2015'
SELECT
A.LBrCode AS BranchCode,
(SELECT B.Name
FROM D001003 B
WHERE A.LBrCode = B.PBrCode) AS BranchName,
C.PrdCd AS Product,
SUM(D.FcyTrnAmt) AS Amount
FROM
D009022 A
INNER JOIN
D009021 C ON substring(A.PrdAcctId, 1, 8) = C.PrdCd
AND A.LBrCode = C.LBrCode
LEFT JOIN
D009040 D ON A.PrdAcctId = D.VcrAcctId
AND substring(D.VcrAcctId, 1, 8) = C.PrdCd
AND A.LBrCode = D.LBrCode
WHERE
A.AcctStat <> 3
AND A.DateOpen >= @FromDate
AND A.DateOpen <= @ToDate
AND C.ModuleType = 11
AND D.DrCr = 'D'
AND D.CanceledFlag <> 'C'
GROUP BY
A.LBrCode, C.PrdCd
ORDER BY
A.LBrCode
UNION ALL
SELECT
A.LBrCode AS BranchCode,
(SELECT B.Name FROM D001003 B WHERE A.LBrCode = B.PBrCode) AS BranchName,
C.PrdCd AS Product,
SUM(A.ActTotBalFcy) AS Balance
FROM
D009022 A
INNER JOIN
D009021 C ON substring(A.PrdAcctId, 1, 8) = C.PrdCd
AND A.LBrCode = C.LBrCode
WHERE
C.ModuleType = 11
AND A.AcctStat <> 3
AND A.DateOpen >= @FromDate
AND A.DateOpen <= @ToDate
GROUP BY
A.LBrCode, C.PrdCd
ORDER BY
A.LBrCode
然后你的功能
input(type='checkbox', ng-model='auto', ng-checked='checkedFunction()', ng-change='save()')