ng-options 会在点击时清除模型(和可见选项),这是什么情况?
ng-options clears the model (and visible options) on click, what in tarnation?
这是我的 ng-options 标记:
<div class="form-group">
<label>Client(s)</label>
<select class="form-control" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
</select>
</div>
这是结果 html:
<div class="form-group">
<label>Client(s)</label>
<select class="form-control ng-pristine ng-untouched ng-valid" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple="" aria-invalid="false">
<option label="Mike" value="string:567f82a9b6daa74f16547564">Mike</option>
<option label="brian" value="string:567f83ac61b2fe4160fb4d4a">brian</option>
<option label="Bill" value="string:567f8df461b2fe4160fb4d4b">Bill</option>
</select>
</div>
一切看起来都不错,但是当我单击 select 菜单选择一个时,更不用说几个了,模型被清除,导致选项被完全清除。知道会发生什么吗?我没有恶意点击事件,其余的表单(包括大约 15 个其他标准文本字段)功能正常。
真正奇怪的是,如果我用 ng-repeat 做一个标准的 select 标签,我会得到 none 的废话。这很好用:
<select name="clients" id="clients" multiple>
<option ng-repeat="clients in addFirm.firmData.clients" value="{{clients.instance.id}}">{{clients.instance.fName}}</option>
</select>
有什么想法吗?提前致谢!!!
您正在将 select 绑定到您用来存储数组项的同一模型:
<select class="form-control"
ng-model="addFirm.firmData.clients" <!-- <-- addFirm.firmData.clients -->
ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
<!-- and here again --^ -->
</select>
看,addFirm.firmData.clients
既在ngModel
又在ngOptions
?将 ngModel 绑定到其他东西,例如:
ng-model="addFirm.firmData.clientSelected"
这是我的 ng-options 标记:
<div class="form-group">
<label>Client(s)</label>
<select class="form-control" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
</select>
</div>
这是结果 html:
<div class="form-group">
<label>Client(s)</label>
<select class="form-control ng-pristine ng-untouched ng-valid" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple="" aria-invalid="false">
<option label="Mike" value="string:567f82a9b6daa74f16547564">Mike</option>
<option label="brian" value="string:567f83ac61b2fe4160fb4d4a">brian</option>
<option label="Bill" value="string:567f8df461b2fe4160fb4d4b">Bill</option>
</select>
</div>
一切看起来都不错,但是当我单击 select 菜单选择一个时,更不用说几个了,模型被清除,导致选项被完全清除。知道会发生什么吗?我没有恶意点击事件,其余的表单(包括大约 15 个其他标准文本字段)功能正常。
真正奇怪的是,如果我用 ng-repeat 做一个标准的 select 标签,我会得到 none 的废话。这很好用:
<select name="clients" id="clients" multiple>
<option ng-repeat="clients in addFirm.firmData.clients" value="{{clients.instance.id}}">{{clients.instance.fName}}</option>
</select>
有什么想法吗?提前致谢!!!
您正在将 select 绑定到您用来存储数组项的同一模型:
<select class="form-control"
ng-model="addFirm.firmData.clients" <!-- <-- addFirm.firmData.clients -->
ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
<!-- and here again --^ -->
</select>
看,addFirm.firmData.clients
既在ngModel
又在ngOptions
?将 ngModel 绑定到其他东西,例如:
ng-model="addFirm.firmData.clientSelected"