[英]How to hide button when checkbox is checked via ng-show and ng-model
[英]ng-show not triggered when input checkbox selected via javascript
我有一個html頁面,單擊復選框會導致頁面的新部分變為可見。 HTML看起來像這樣:
<input id="formcheck" ng-model="collapseform" type="checkbox">Fill in the Test Form
<div id="mainformdiv" class="wizard-div" ng-show="collapseform">
<div>
<div class="main-block">
...and so on
</div>
</div>
</div>
這部分工作正常-默認情況下,該頁面的一部分是隱藏的,當我選中該復選框時,將顯示頁面的其余部分。 當我取消選擇它時,頁面的其余部分再次被隱藏。
在同一頁面的下一層,有一個表,當您在該表中選擇一個節點時,它會調用一個控制器函數,該控制器函數會導致一些內部值的設置-該部分也起作用,因此控制器似乎已正確設置,並且所有功能都可以調用。
我看到的問題是:除了設置內部值(它可以正確執行)之外,我還想向選擇表節點時被調用的控制器函數添加一些內容,而我希望它做的是),還請選中該復選框,並作為響應顯示頁面的隱藏部分。 我以為如果通過javascript選中了復選框即可完成此操作,因此我將其添加到了內部值設置功能中:
if (document.getElementById("formcheck").checked == false) {
document.getElementById("formcheck").checked = true;
}
這種工作-調用該代碼段時,該復選框確實被選中,但是,與我用鼠標單擊該復選框不同,它似乎不會觸發ng-show,因此頁面的隱藏部分不可見。 為了完成這項工作,我還需要做其他事情嗎?
謝謝!
您應該能夠更改模型的值。 由於NgModel提供雙向綁定,因此它也會監視$scope
變量。
例如做
$scope.collapseform = false
代替
if (document.getElementById("formcheck").checked == false) {
document.getElementById("formcheck").checked = true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.