0
我用一個很簡單的角度指令納入selectize:角+ Selectize獲得形式價值創造
https://github.com/paolodm/angular-selectize/blob/master/angular-selectize.js
app.directive('selectize', function($timeout) {
return {
link: function($scope, element, attrs) {
$timeout(function() {
$(element).selectize($scope.$eval(attrs.selectize))
})
}
};
});
我的整個形狀看起來像:
<form>
<input id="title" type="text" ng-model="post.title" />
<select placeholder="Tags"
ng-options='tag.name for tag in tags'
ng-model='post.tags'
selectize="{ maxItems: 3 }"
multiple></select>
<button ng-click="create(post)">create</button>
</form>
Selectize連接正確。
但是,在我的創建函數中,我得到post.title
但就是這樣。
$scope.tags = [{
id: 1,
name: 'Tag1'
}, {
id: 2,
name: 'Tag2'
}];
$scope.create = function(post) {
console.log('post: ', post);
};
// logs {title: 'input value'}
如果我刪除selectize()
通話所以這是一個普通的HTML元素,並留下ng-model="post.tags"
它的作品,我也得到了標籤期望值。
在沒有選擇性指令的情況下,我可以在控制檯中運行$('select').val()
,例如正確返回[ "1", "2" ]
,這是標籤的ID,這正是我想要的。他們只是不會被髮送到create
與selectize。
這是怎麼回事?