我有一個註冊表單,我向用戶提供包含像(攝影,樂器)這樣的技能列表的巨大複選框列表。在註冊時,用戶根據他/她擁有的技能檢查多個複選框。然後我將用戶文檔的用戶技能保存在數據庫MongoDB中。根據從服務器返回的數據檢查複選框 - Node.js
下面是我的用戶架構的基本版本:
{ firstName: John,
lastName: Smith,
email: [email protected],
skills: [
"photography",
"music",
"programming",
"mathematical skills"
]
}
重要提示: 我在MongoDB中一個Skills
架構。這基本上是一個巨大的技能陣列,一個基本的例子:
{ id: 1287638712687312
allSkills: [
"photography",
"music",
"programming",
"mathematical skills"
"another",
"another",
and so on
]}
我的問題:
我希望用戶能夠編輯他們的技能(刪除或增加)。我使用ng-repeat
來遍歷我的Skills
模式中的所有技能。
我想要做的是,我使用ng-repeat
已經選擇了當前用戶文檔中的所有技能,以顯示編輯技能頁面中的所有技能。
通過這種方式,用戶可以輕鬆查看他們目前的技能,並根據他們的需求進行檢查或取消選中。
一個例子:
如果用戶有music
技能已經是他們文件內。當他們從一大堆技能列表中編輯他們的技能時,技能已經被檢查。
任何幫助將不勝感激。
UPDATE:
{{user.skills}} // contains skills from users document
<div ng-repeat="skill in completeSkills">
<label ng-repeat="x in skill.allSkills">
<input type="checkbox" value="{{x}}" ng-checked=""> {{x}}
</label>
</div>
嗨,感謝您的回答。我目前在我的頁面中有兩個數組,第一個是'user.skills',它包含註冊時選擇的用戶技能和其他數組,名爲'completeSkills',其中包含數據庫中的所有技能,我正在使用'ng-repeat'迭代它們。我無法適應您的代碼。我用我的代碼更新了我的問題。任何建議都會很棒。 – Skywalker
用你的對象編輯答案 – Nayish
再次非常感謝你。你能解釋一下你在做什麼'indexOf(option)> -1' – Skywalker