AngularJS & lt; select>.选项上的' ng-click '不是工作
AngularJS, <select>. The `ng-click` on the <option> is not work
我使用AngularJS。我在选择选项上绑定数据。我在每个选项上绑定了一个点击功能。当我单击该选项时,clickFun
不工作。
这是我的代码:
<style>
.bigDiv {
width: 500px;
height: 500px;
background-color: gray;
margin: 34px auto;
}
</style>
<body ng-app="app" ng-controller="controller">
<div class="bigDiv">
<select name="xxx" id="">
<option ng-repeat="item in Array" value="" ng-click="clickOptionFun($index)">{{item.name}}</option>
</select>
</div>
<script src="angular.js"></script>
<script>
var app = angular.module('app',[]);
app.controller('controller',['$scope', function ($scope) {
$scope.Array = [
{name: "one"},
{name: "two"},
{name: "three"},
{name: "four"},
];
$scope.clickOptionFun = function (index) {
console.log(index);
}
}])
</script>
我设置了一个断点在clickOptionFun。似乎该函数没有实现。我找不到任何日志信息
对于ng-change,您需要有一个ng-model,您可以像这样传递选中的对象,
<select name="xxx" id="" ng-model="selected"
ng-options="item as item.name for item in Array"
ng-change="clickOptionFun(selected)">
</select>
尝试删除[]
var app = angular.module('app');
app.controller('controller', function ($scope) {
$scope.Array = [
{name: "one"},
{name: "two"},
{name: "three"},
{name: "four"},
];
$scope.clickOptionFun = function (index) {
console.log(index);
}
});
也许你应该使用ng-change而不是ng-click, ng-options来填充选项
<select name="xxx" ng-options="item as item.name for item in Array"
ng-change="clickOptionFun(item)">
</select>
首先,select没有clic事件,您可以使用ng-change和ng-model
<style>
.bigDiv {
width: 500px;
height: 500px;
background-color: gray;
margin: 34px auto;
}
</style>
<body ng-app="app" ng-controller="controller">
<div class="bigDiv">
<select name="xxx" id="">
<option ng-repeat="item in Array" value=""
ng-change="clickOptionFun(item)">{{item.name}}</option>
</select>
</div>
<script src="angular.js"></script>
<script>
var app = angular.module('app',[]);
app.controller('controller',['$scope', function ($scope) {
$scope.Array = [
{name: "one"},
{name: "two"},
{name: "three"},
{name: "four"},
];
$scope.clickOptionFun = function (name) {
console.log(name);
}
}])
</script>
你也可以用option代替ng-repeat
可以对<select>
使用ng-change event。.
相关文章:
- 使用jqGrid列格式化程序函数使ng-click工作
- 将我的列表 vom ng-repeat 更改为收集重复 ng-click 后,无法正常工作
- 另一个 ng-click() 未按预期工作
- ng-click在IE中不起作用,但在CHROME中工作正常
- ng-click在第一次点击后停止工作,但仅在以后的Angular版本中
- NG-CLICK功能仅在第一次工作
- ng-focus和ng-blur不起作用,而ng-click在输入元素中工作正常
- 如何使ng-click仅在单击事件中工作
- 如何修复ng-click-dons'不能在递归指令模板中工作
- Onclick和ng-click事件不工作
- AngularJS的ng-click函数在我打开打印对话框后不工作
- AngularJS & lt; select>.选项上的' ng-click '不是工作
- 如何使href工作与函数结果在ng-click
- ng-click不触发$scope.doSomething(), onclick对相同的函数工作
- Ng-click在页面刷新后停止工作
- 使用ng-bind-html时,Ng-click不能在控制器内部工作
- ng-click中的$index在firefox中工作,而不是在chrome中
- 如何使工作ng-click和$timeout
- Angular UI Grid:如何将HTML与cellTemplate绑定,并动态构建ng-click工作的HTML
- 使ng-click工作在WebDB渲染