如何获得select的value值

我用的angular版本是1.6.6,

我select标签的结构是这样的
clipboard.png

JS里面是这样写的

clipboard.png

为什么save方法里的console.log($scope.chooseName),打印出来是undefined?

我该如何获取select的value值 ,因为最后点击保存按钮的时候,要把value的值提交上去

阅读 4.3k
4 个回答

<select ng-model="selected" ng-options="obj.value as obj.text for obj in arrayData"></select>
用angularjs的指令应该就可以了

不用你的代码没问题,可能是你没有设置默认值,看代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    <!-- <script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script> -->
</head>
<body ng-app="myApp" ng-controller="myCtrl">
    <select name="chartype" class="select"  ng-model="chooseName">
        <option ng-repeat="item in selects" value="{{item.id}}">{{item.name}}</option>
    </select>
    <button ng-click="change()">点我</button>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.selects = [
        {"id":"1","name":"liushun"},
        {"id":"1","name":"liushun"},
        {"id":"1","name":"liushun"},
    ];
    $scope.chooseName=$scope.selects[0].id;//设置默认值
    $scope.change = function () {
        console.log($scope.chooseName);
    }
});    
</script>
</body>
</html>

你要确定后端返回数据项中有没有id这个字段。
$scope.chooseName是可以不默认的;

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题