ng-change在我的指令中不适用于选择
ng-change is not working on select in my directive
ng-change, ng-click 不起作用 仅在指令中选择谁能帮我?
.HTML
<div select-list="items"></div>
命令:
myApp.directive("selectList", function(){
return function (scope, element, attr) {
var data = scope.items;
if(angular.isArray(data)){
var selectElem = angular.element("<select>").attr('ng-change', 'test()');
element.append(selectElem);
for(var i = 0; i < data.length; i++){
var optionElem = angular.element("<option>");
selectElem.append(optionElem.text(data[i].name));
}
}
}
});
控制器:
var myApp=angular.module('myApp', []);
myApp.controller('phoneController', function($scope) {
$scope.items = [
{ name: 'Nokia Lumia 630'
},
{ name: 'Xiaomi Mi5'
}
];
$scope.selectedItem = $scope.items[0].name;
$scope.select = function(name){
$scope.selectedItem = name;
};
$scope.test = function(){
alert("test");
};
});
我是这里的新手。角度版本 1.3 也许这取决于版本。我现在无法更改版本
如果要插入带有角度绑定的元素,则需要使用$compile函数。 没有测试这个,但这是正确的方向。
myApp.directive("selectList", function ($compile) {
function link(scope, element, attr) {
var data = scope.items;
if (angular.isArray(data)) {
var selectElem = $compile('<select ng-change="text()"></select>');
element.append(selectElem);
for (var i = 0; i < data.length; i++) {
var optionElem = angular.element("<option>");
selectElem.append(optionElem.text(data[i].name));
}
}
}
return {
link: link
};
});
相关文章:
- html5 drawImage适用于firefox,而不是chrome
- Jquery Ajax POST不工作.适用于GET
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- .load()适用于window,而不是ID
- 使用Jquery更改css样式适用于id's、 不在课堂上
- 提交按钮不会;不适用于Chrome或Firefox,但适用于Internet Explorer
- 为什么 javascript 中的“btoa”编码适用于 20 位字符串而不是 20 位整数
- Javascript String to Date适用于Chrome,而不是FF或Safari
- Onchange,向上,向下箭头键适用于FF和Chrome,但在IE中不起作用
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- 找不到适用于 Highcharts 的 JSON 数组语法
- 为什么在jQuery中使用focusout适用于Firefox,而使用addEventListener则不适用;t
- jQuery选择菜单验证器适用于FF和Chrome,但不适用IE
- 单选按钮'onclick'适用于Chrome和Firefox,但不适用IE
- JQuery ScrollTop适用于chrome,但不适用firefox
- window.opener.location.href适用于IE,但不适用Chrome或Safari
- Frame Busting buster不完全适用于IE
- Jquery touch punch适用于Chrome和Firefox,但不适用IE
- 背景更改仅适用于chrome+$.预加载不适用;不起作用
- JavaScript window.location.replace适用于Firefox,但不适用IE或Chrome