我正在構建一個具有許多不同類型問題的表單的Web應用程序。現在,我受到複選框類型問題的困擾。複選框標記在Anuglar jS中不能正常工作
這裏是視圖:
<div class="form-group" ng-class="{ 'has-error': form.$submitted && form[field.id].$invalid }" ng-if="field.type === 'checkbox'">
<label for="{{field.id}}">{{field.title}}</label>
<br>
<label ng-repeat="value in field.values"><input type="checkbox" id="{{field.id}}" name="field.id" ng-model="formData[field.id]"> {{value.title}}</label>
<p class="form-group-note" ng-if="field.info" ng-bind="field.info"></p>
<div ng-show="form.$submitted" ng-cloack>
<span class="help-block" ng-show="form['{{field.id}}'].$error.required" ng-if="field.validations.required">Please enter a value, this field is required</span>
</div>
</div>
這裏是一個JSON我渲染:
{
"id": "4_6_yes_no_question",
"title": "6. Do you qualify for this?",
"type": "checkbox",
"info": "If yes, check yes",
"size": {
"width": 100,
"height": 1
},
"validations": {
"required": true
},
"values": [
{
"id": 0,
"title": "Not Selected"
},
{
"id": 1,
"title": "Yes"
},
{
"id": 2,
"title": "No"
}
]
}
當顯示我的看法,這表明3個複選框以不同的標題(不選擇,是,否)。問題是,當用戶選擇其中一個框時,它會選擇全部。並且保存到localStorage的數據只是真或假。是否可以保存爲JSON格式的圖塊?
它們具有相同的'NG-model',所以當你點擊一個複選框,其他人將檢查過。您需要替換'ng-model =「value.id」'因爲您在field.values中使用重複的值。你的formData是什麼?你可以把你的代碼在線嗎? – DieuNQ
@DieuNQ FormData是localStorage的變量名稱。 – Kahsn
試試這個:'ng-model =「formData [value.title]」'。希望這個幫助。 – DieuNQ