2014-09-03 37 views
0

我試圖爲jQuery UI ComboBox創建自定義指令,它應該像自動提示和下拉菜單一樣工作。 我沒有得到外觀和感覺,也沒有邏輯。我想用它,因爲它是在JQueryUIjqueryui combo在angularjs中的自定義指令

var DataApp = angular.module("DataApp", []); 
DataApp.controller('loginCtrl', loginCtrl); 
var loginCtrl = function ($scope) { 
$scope.listLang = [{ 
    lang: "AppleScript"}, { 
    lang: "Asp" 
}, { 
    lang: "BASIC" 
}, { 
    lang: "C" 
}, { 
    lang: "C++" 
}, { 
    lang: "Clojure" 
}, { 
    lang: "COBOL" 
}, { 
    lang: "ColdFusion" 
}, { 
    lang: "Erlang" 
}]; 
}; 

DataApp.directive('comboBox1', function() { 

return { 
    restrict : 'A', 
    link: function(scope, element, attrs) { 
     $(element).combobox(); 
     } 
} 

}); 

HTML給出。如果你在瀏覽器中打開某些類型的開發者工具以下

<div ng-app="DataApp"> 
<div ng-contorller="loginCtrl"> 
    <div class="ui-widget" combo-box1='{}'> 
     <label>Your preferred programming language:</label> 
     <select id="combobox" ng-model="list-items" ng-options="listItem.lang for listItem in listLang"></select> 
    </div> 
</div> 

回答

0

給出,然後你會看到在控制檯中出現錯誤:

Uncaught ReferenceError: angular is not defined 

如果您嘗試使用Angular JS在Fiddle中,那麼你應該包含AngularJS的'庫'(它實際上是一個框架)。

但這不是全部。

Uncaught Error: [$injector:modulerr] Failed to instantiate module DataApp due to: 
Error: [$injector:nomod] Module 'DataApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 

你可以閱讀這裏這個問題:

AngularJS: Uncaught Error: [$injector:modulerr] Failed to instantiate module?

但即使如此,也會有因爲怎麼搗鼓服務運行的更多的錯誤。相反,我建議你嘗試http://plnkr.co/服務,因爲它爲你提供了AngularJS模板,所以你有一個簡單的應用程序運行。

但這裏是我得到了視覺上顯得工作

http://jsfiddle.net/walts/53b7g83c/

要獲得邏輯的工作,你需要閱讀更多有關AngularJS。