如何在每次从下拉菜单中选择项目时触发不同的功能
how to trigger a diffrent function each time an item is selected from a dropdown menu
我有一个下拉菜单值一,二,三和三个不同的函数如何触发每个函数当我选择一个值例如,如果我选择一个函数一个触发器如果我选择值两个函数两个触发器等
<select class='mapDropDown' ng-options='x for x in name' ng-model='selectedFunction'>
<option value=''> Please Select </option>
</select>
app.js
function MyCtrl($scope) {
$scope.name = ['one', 'two', 'three']
function one(){
alert('you triggered first function')
}
function two(){
alert('you triggered second function')
}
function three(){
alert('you triggered second function')
}
}
jsfiddle
您可以传递当前选定值myFunction
方法&然后那个方法将决定如何调用其他方法,就像下面的选择框的改变。为了使其生效,您需要将所有函数置于作用域中。
标记
<select class='mapDropDown' ng-options='x for x in name' ng-model='selectedFunction'
ng-change="myFunction(selectedFunction)">
<option value=''> Please Select </option>
</select>
$scope.myFunction = function(functionName){
$scope[functionName]();
}
如果你不想把方法放在$scope
中,你可以把它们放在服务中并调用它们,就像我们在第一种方法中所做的那样。如果你想把function留在控制器中,而不是添加到作用域中,你可以使用下面的function
$scope.myFunction = function(functionName) {
eval(functionName+'()')
}
演示小提琴$('.mapDropDown').change(function(){
functionName = this.value;
function(functionName){
$scope[functionName]();
}
})
相关文章:
- 为图像滑块jquery添加项目符号功能
- 使用自动完成功能未正确选择项目
- 如何检查切换功能是否显示项目
- 在我的项目中,添加、删除和编辑功能不起作用
- 使用功能更改文本并包含项目符号图像
- 难倒了将功能应用于所有 li 项目
- 在选择某些项目时显示文本和列表的功能
- 当项目变得“卡住”时的功能
- 将功能分别应用于所有项目
- 在多个 angularjs 项目之间共享通用功能/配置
- Jquery 可折叠式功能一次只能打开一个项目
- 在项目中使用谷歌应用程序脚本功能
- 是否有任何Web框架或项目提供“;墙”;类似的功能
- 为什么单击第二个项目后,此单击功能不起作用
- 功能编程:将列表中的项目配对
- 咕哝和吞咽困惑——在另一个有吞咽功能的项目中进行吞咽
- 是否有可能将上下文菜单中的项目中继到自己编写的功能
- 如何使用ng-repeat添加包含计时器功能的项目
- 当附加项目时,我如何使我的旋转木马上的单击功能工作
- Ajax滚动加载帖子项目运行功能,但不加载内容