我有一个输入元素,它使用bootstrap中的预先输入插件。 我想将数据源属性设置为用户输入。效果就像实例搜索一样。
<input id="test" data-provide="typeahead" data-source="{{titles}}"/>
在我的AngularJS控制器中,我有
$scope.titles = my_array_object
执行上述代码后,我在Chrome开发者工具中看到 data-source 属性设置正确。
但是在Chrome控制台中,当我执行
时$('#test').data('source')
返回值为“”,空字符串
设置元素属性的正确方法是什么?
答案 0 :(得分:1)
我想你想要这样的东西:http://plnkr.co/edit/ASeDxB5445HeiLKOq409?p=preview
var myApp = angular.module("app",[]);
myApp.directive('moDataSource',function() {
return {
restrict:"A",
scope:{
moDataSource:"=",
},
link: function(scope, elem, attrs) {
var typeahead = elem.typeahead().data("typeahead");
typeahead.source = scope.moDataSource;
}
};
});
function MainCtrl($scope) {
$scope.addItem = function (item) {
if(item.length > 0)
$scope.array.push(item);
};
$scope.array = ['Safari',"Internet Explorer","FireFox","Chrome"];
}