Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取js代码的下拉列表的值_Javascript_Angularjs - Fatal编程技术网

Javascript 获取js代码的下拉列表的值

Javascript 获取js代码的下拉列表的值,javascript,angularjs,Javascript,Angularjs,我正在处理angularjs应用程序。我想要从AngularController的下拉列表中选择的值。请告知。下面是代码 <select> <option value="red">Red</option> <option value="blue">Blue</option> </select> 上面的控制器在页面加载时调用,如何将从下拉列表中选择的值分配给控制器的$rootScope变量。 并且,建议不要

我正在处理angularjs应用程序。我想要从AngularController的下拉列表中选择的值。请告知。下面是代码

<select>
    <option value="red">Red</option>
    <option value="blue">Blue</option>
</select>
上面的控制器在页面加载时调用,如何将从下拉列表中选择的值分配给控制器的$rootScope变量。

并且,建议不要在
rootscope
中使用原语prop。看见
如果可能,请避免使用rootscope.,只使用控制器的$scope。

您应该将
ng model
添加到
select
标记中

示例:

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.showPopup=function(){
警报($scope.MyData);
};
});

--选择一个选项--
红色
蓝色
单击以显示选定的值
在您的代码中尝试这一点

在HTML中,更改您的选择,如下所示

<select ng-model="colorSelected" ng-change="selectColor(colorSelected)">
 <option value="red">Red</option>
 <option value="blue">Blue</option>
</select>
myApp.controller('myController', function ($rootScope,$scope) {
   $rootScope.selectedValue=$scope.colorSelected;
   $scope.selectColor = function(colorSelected){
        // use the colorSelected and set your alerts or basically handle anything
   }
})

在HTML中编写以下代码:

<div ng-controller="myController">
<select ng-model="selectedValue">
    <option value="red">Red</option>
    <option value="blue">Blue</option>
</select>
</div>

@用户222不,这个答案很好用。
警报
只发生一次,在进行选择之前,您为什么希望它显示默认值以外的任何内容?您可以清楚地看到,
{{selectedValue}}
无论如何都在变化,您不需要
警报
@user222:您需要为
警报
编写一些方法,并在每次模型更改时调用它,也不要对rootScope使用primitive prop,如果可能的话,避免使用rootScope。有两点-1)不要将primitive值用作模型,将它们包装在对象中2)您真的需要使用
$rootScope
而不仅仅是
$scope
?@KarlReid-是,我想将该值分配给$rootscope。有什么建议吗?为什么要使用
$rootscope
?我建议您接受@anoop的回答,它回答了您的问题,他在评论中更新的小提琴显示了构建模型的一种改进方法,也满足了您对更改值的
alert
ing的要求。Mac-请查看您在中更新的代码。我没有收到具有更新值的警报,我希望默认情况下选择第一个选项。感谢您的帮助。@user222是否希望在下拉列表值更改时发出警报?或者?。若你们想捕捉下拉列表值的变化,请检查更新的答案
<div ng-controller="myController">
<select ng-model="selectedValue">
    <option value="red">Red</option>
    <option value="blue">Blue</option>
</select>
</div>
var myApp = angular.module('myApp',[]);

myApp.controller('myController', function ($rootScope,$scope) {
//business logic
$rootScope.selectedValue='red';//I want the value of the dropdown selected, by default it is first option red
})