javascript - 如何在 Angular Js 中获取自定义 html 元素的值?

标签 javascript angularjs

我正在使用 Angular(一个引导管理 Web 应用程序)来创建我的 Web 应用程序,我面临的问题是如何从 Angular 元素读取值。

这就是元素的样子。

<ui-select  ng-model="selected" theme="bootstrap" ng-change='test()'>
<ui-select-match  placeholder="Select by typing client's name or number">{{$select.selected.first_name}}</ui-select-match>
<ui-select-choices ng-value='mikeee' group-by="'group'" repeat="id_number in clients_list | filter: $select.search">
          <span ng-bind-html="id_number.first_name + ' - ' | highlight: $select.search"></span>
          <small ng-bind-html="id_number.registration_number | highlight: $select.search"></small>
        </ui-select-choices>
      </ui-select>

以及test()函数:

$scope.test = function()  
{
    var selectedValue = $.param({
        client_number : $scope.selected,
    });

    alert(selectedValue)
}

当元素中的值发生更改时,我会收到一个警告框,但 Client_number 为空。 谢谢。

最佳答案

angular
  .module('myApp', [])
  .run(function($rootScope) {
    $rootScope.title = 'myTest Page';
  })
  .controller('testController', ['$scope',
    function($scope) {

      $scope.test = function() {
        var selectedValue = serializeData({
          client_number: $scope.selected
        });

        alert(selectedValue)
      }



      function serializeData(data) {
        // If this is not an object, defer to native stringification.
        if (!angular.isObject(data)) {
          return ((data == null) ? "" : data.toString());
        }

        var buffer = [];

        // Serialize each key in the object.
        for (var name in data) {
          if (!data.hasOwnProperty(name)) {
            continue;
          }

          var value = data[name];

          buffer.push(
            encodeURIComponent(name) + "=" + encodeURIComponent((value == null) ? "" : value)
          );
        }

        // Serialize the buffer and clean it up for transportation.
        var source = buffer.join("&").replace(/%20/g, "+");
        return (source);
      }
    }
  ])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<input ng-app="myApp" ng-controller="testController" ng-model="selected" theme="bootstrap" ng-change='test()' />

关于javascript - 如何在 Angular Js 中获取自定义 html 元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337854/

相关文章:

javascript - 使用 grunt-ts 编译 typescript 时 require.js 和 sourcemaps 的问题

javascript - bower 安装不识别本地 npm 包?

angularjs - 安装 Yeoman 错误

javascript - Angular.js 日期过滤器显示 future 一个月?

angularjs - 如何在 Angular ui 网格中禁用编辑排序

javascript - TypeScript 中的部分环境内部模块声明?

javascript - Datatables Responsive in a flexbox hierarchy overflow in 最近的浏览器

Javascript 将 JSON 字符串化两次

javascript - AngularJS angular-modal-service 给我一个错误

javascript - 当我拖动一个元素时,react-sortable-hoc 列表消失