我正在使用Angular,一个用于创建我的Web应用程序的bootstrap管理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
为空。
谢谢。
答案 0 :(得分:1)
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);
}
}
])
&#13;
<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()' />
&#13;