首页  >  问答  >  正文

angular.js - angular中select如何获取文本值,并且可以确定option的选中状态

在做省市联动。option中value是省市编码 text是名称,
如何才能既确定selected选项,又获取text名称?

迷茫迷茫2687 天前939

全部回复(4)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:02:31

    使用ng-options就行啊
    代码加载有些慢。。稍等一下可以看到效果:
    http://codepen.io/flybywind/pen/GZyydY

    回复
    0
  • 怪我咯

    怪我咯2017-05-15 17:02:31

    模板

    雷雷

    脚本

    雷雷

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:02:31

    其实是我的问题,问题的解决根本是ng-model直接绑对象,然后option的value也绑相同的对象,这样就解决了'选中问题',在后台取id或文本值,直接是对象的id或text。thanks!

    回复
    0
  • ringa_lee

    ringa_lee2017-05-15 17:02:31

    在angularJS的官方文档上就有,需要自备梯子
    下面是我用的1.4.7的版本的文档中的示例


    <p ng-controller="ExampleController">
      <form name="myForm">
        <label for="repeatSelect"> Repeat select: </label>
        <select name="repeatSelect" id="repeatSelect" ng-model="data.repeatSelect">
          <option ng-repeat="option in data.availableOptions" value="{{option.id}}">{{option.name}}</option>
        </select>
      </form>
      <hr>
      <tt>repeatSelect = {{data.repeatSelect}}</tt><br/>
    </p>
    angular.module('ngrepeatSelect', [])
     .controller('ExampleController', ['$scope', function($scope) {
       $scope.data = {
        repeatSelect: null,
        availableOptions: [
          {id: '1', name: 'Option A'},
          {id: '2', name: 'Option B'},
          {id: '3', name: 'Option C'}
        ],
       };
    }]);

    结果就是option中显示的是name部分,model获得的是id,这里model用的是data.repeatSelect是因为循环是在option上,而导致作用域的不同

    回复
    0
  • 取消回复