获取<select>的值似乎未定义。 (Angular.js)

时间:2016-02-12 04:42:49

标签: javascript angularjs angularjs-scope

我试图获得“选择”的价值,但它始终显示“未定义”。我想从控制器,将值设置为&#39; B&#39;并同时获得&lt; select&gt;的值。我究竟做错了什么? &lt; div ng-controller =&#34; myCtrl&#34;&gt;     &lt; select ng-model =&#34; selectedItemvalue&#34; ID =&#39; selectedItemvalue&#39; NG-变化=&#39; myfunction的()&#39;&GT;         &lt; option ng-repeat =&#34; sel in selectables&#34;值=&#34; {{SEL}}&#34;&GT; {{SEL}}&LT; /选项&GT;     &LT; /选择&GT; &LT; / DIV&GT; angular.module(&#39; myApp&#39;,[]) //控制器在这里 .controller(&#39; myCtrl&#39;,function($ scope){   $ scope.selectables = [     &#39; A&#39;&#39; B&#39;,&#39; C&#39;   ]。   //$scope.selectedItemvalue =&#34; B&#34 ;;   的console.log($ scope.selectedItemvalue) }) http://jsfiddle.net/gpehtypy/ 我需要获取select的值。然后设置默认值&#39; B&#39;。 我需要将值设置为&#39; B&#39;没有运行ng-change。我需要在ng-change之前获得我的选择值。

2 个答案:

答案 0 :(得分:1)

检查

<div ng-controller="myCtrl">
        <select ng-model="selectedItemvalue" id='selectedItemvalue' ng-change='myfunction()'>
            <option ng-selected="sel==selectedItemvalue" ng-repeat="sel in selectables" value="{{sel}}">{{sel}}</option>
        </select>

        <p>Selected Value is : {{selectedItemvalue}}</p>
 </div>

angular.module('myApp', [])

// controller here
.controller('myCtrl', function($scope) {
    $scope.selectables = [
        'A','B','C'
    ];

    $scope.selectedItemvalue = "B"; 
    console.log($scope.selectedItemvalue)
})

答案 1 :(得分:0)

嘿我设法解决了执行代码onchange事件所需的问题。所以你已经在ng-change上运行了myfunction()。你只需要将ur $ scope放在该函数中。希望它有所帮助。

 $scope.myfunction = function(){
    console.log($scope.selectedItemvalue);
}

http://jsfiddle.net/wb5jxsj4/1/