【发布时间】:2015-03-23 01:22:58
【问题描述】:
请在http://plnkr.co/edit/9dyBVZh67sxmIqUQB50S?p=preview 上查看我的 plunkr 代码示例
我有 4 个按钮,其中两个按钮因某种情况而被禁用。
我希望能够在两个被禁用的按钮上显示一个工具提示,对于第一个禁用的按钮会显示“Test itemName2 is not available”,对于第二个禁用的按钮会显示“Test itemName4 is not available”,并且没有工具提示在启用的其他两个之上。
这可能吗?如示例中所示,我一直在玩弄 ng-attr-title,但一直在寻找我想要的解决方案。
任何帮助将不胜感激..
html:
<body>
<div ng-controller=ItemsController>
<h3>Test</h3>
<div class="row">
<div class="col-md-4">
<div class="panel panel-default">
<ul class="list-group">
<button ng-disabled="isDisabled(item.name)" ng-attr-title="{{item.name}}" class="btn btn-primary" ng-click="select(item)" ng-repeat="item in itemDetails">{{item.name}}</button>
</ul>
</div>
</div>
</div>
</div>
</body>
Script.js
var myItemsApp = angular.module('myItemsApp', []);
myItemsApp.factory('itemsFactory', ['$http', function($http){
var itemsFactory ={
itemDetails: function() {
return $http(
{
url: "mockItems.json",
method: "GET",
})
.then(function (response) {
return response.data;
});
}
};
return itemsFactory;
}]);
myItemsApp.controller('ItemsController', ['$scope', 'itemsFactory', function($scope, itemsFactory){
var promise = itemsFactory.itemDetails();
promise.then(function (data) {
$scope.itemDetails = data;
//console.log(data);
});
$scope.select = function(item) {
$scope.selected = item;
}
$scope.selected = {};
$scope.isDisabled = function(name){
if(name == "Test itemName 2" || name == "Test itemName 4")
{
return true;
}
}
}]);
【问题讨论】:
标签: angularjs