0
我有一個角JS應用程序。在這個我有一個下拉列表中,我可以創建一個新的選項,通過鍵入並按下回車鍵。然而,當我按回車鍵,我得到了一些JS例外無法讀取未定義的屬性'禁用'
這裏是例外
TypeError: Cannot read property 'disabled' of undefined
at angular.js:26183
at forEach (angular.js:336)
at readNgOptionsMultiple [as readValue] (angular.js:26181)
at angular.js:28062
at Scope.$get.Scope.$eval (angular.js:15830)
at Scope.$get.Scope.$apply (angular.js:15929)
at HTMLSelectElement.<anonymous> (angular.js:28061)
at HTMLSelectElement.jQuery.event.dispatch (jquery-2.1.4.js:4435)
at HTMLSelectElement.elemData.handle (jquery-2.1.4.js:4121)
at Object.jQuery.event.trigger (jquery-2.1.4.js:4350)
文件是Angular.js文件,下面是它引起的位置。
forEach(selectedValues, function(value) {
var option = options.selectValueMap[value];
if (!option.disabled) selections.push(options.getViewValueFromOption(option));
});
我的HTML /角碼是如下
<div class="row">
<div class="col-xs-12">
<div class="form-group form-md-line-input form-md-floating-label">
<select class="js-select2-tags form-control input-lg form-control-static" id="new-note-tags" name="note-tags" style="width: 100%" multiple="multiple" data-placeholder="Type one or more tags..."
ng-model="addNote.AssociatedTags" ng-options="option.Name for option in NoteTags track by option.Name"
data-rule-required="true"
data-msg="Note tags cannot be empty"></select>
<label for="new-note-tags">Note Tags<span class="required"> * </span></label>
</div>
</div>
</div>
可以在任何一個指導我在這裏?
更新: 我檢查了這一點,我的觀察是新添加的選項實際上並沒有被添加到選項中。 var option = options.selectValueMap [value];
我已添加此代碼以確保添加選項。看起來它不起作用。請注意我有一個多選控制。
$('.js-select2-tags', $container).select2({
tags: true,
multiple: true,
placeholder: jQuery(this).data('placeholder'),
allowClear: false
})
enter code here
測試看起來是工作,但它是明智的修改angular.js文件?在這個空間中是新的,我不確定更改angular.js文件的風險 –
可能不會在創建選項時使用某種類型的計數器設置虛擬值,該計數器會生成諸如「new1」,「new2」等值將不會有問題 – Walfrat