簡體   English   中英

如何使用ng-checked預先選擇angularJs中的復選框

[英]How to pre-select checkbox in angularJs with ng-checked

我似乎無法讓這個工作。 所以我有很多類型的電影,如果那些是用戶數據庫中的類型,我希望它們被檢查。 這是我的代碼


%section(ng-controller="UserCtrl" ng-init="user_genres=#{preferred_genres}")
    %ul
         %li(ng:repeat="genre in preferred_genres")
            %input(type = "checkbox" ng:model="preferred_genres[genre]" id="genre-{{$index + 1}}" ng-checked="user_genres['{{genre}}']")
            %label{:for => "genre-{{$index + 1}}"} {{genre}}

這是來自haml的#{preferred_genres}


{"Action & Adventure":true,"Animation":true,"Art House & International":true,"Classics":true,"Comedy":true,"Documentary":true,"Drama":true,"Horror":true,"Kids & Family":true,"Musical & Performing Arts":true,"Mystery & Suspense":true,"Romance":true,"Science Fiction & Fantasy":true,"Special Interest":true,"Sports & Fitness":true,"Television":true,"Western":true}

這意味着應該檢查每個復選框。 但是,當我加載頁面時,沒有選中復選框。 但是,如果我硬編碼ng-checked是這樣的,它的工作原理。


ng-checked="user_genres['Western']"

這真的很奇怪。 請幫忙。

ng-checked的值必須是表達式。 擺脫{{}}。 所以,像這樣:

 %input(type = "checkbox" ng-model="preferred_genres[genre]" id="genre-{{$index + 1}}" ng-checked="user_genres[genre]")

此外,您甚至不需要具有ng-checked指令。 如果您的模型的值為true,那么將為您檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM