Javascript 如果下拉列表与json键绑定,如何从下拉列表中获取所选值

Javascript 如果下拉列表与json键绑定,如何从下拉列表中获取所选值,javascript,jquery,html,json,angularjs,Javascript,Jquery,Html,Json,Angularjs,我对Angularjs非常陌生,我已经将列名(键-值对中的键)绑定到选择列表,并希望在更改选择时获得键名。 选择列表将显示: 名称、代码段和年龄 在选择更改时,我想要选择的文本。请帮忙 这是我的密码: <!DOCTYPE html> 你好{{helloTo.title}}! angular.module(“myapp”,[]) .controller(“HelloController”,函数($scope){ $scope.helloTo={}; $scope.hel

我对Angularjs非常陌生,我已经将列名(键-值对中的键)绑定到选择列表,并希望在更改选择时获得键名。 选择列表将显示:

名称、代码段和年龄

在选择更改时,我想要选择的文本。请帮忙 这是我的密码:

<!DOCTYPE html>


你好{{helloTo.title}}!
angular.module(“myapp”,[])
.controller(“HelloController”,函数($scope){
$scope.helloTo={};
$scope.helloTo.title=“世界,AngularJS”;
$scope.phones=[
{
“名称”:“Nexus S”,
“snippet”:“Nexus S的速度更快了。”,
年龄:1
},
{
“名称”:“摩托罗拉XOOM”™ 使用Wi-Fi’,
“snippet”:下一代平板电脑,
年龄:2
},
{
“名称”:“摩托罗拉XOOM”™',
“snippet”:下一代平板电脑,
年龄:3岁
}
];
$scope.ChangeValue=函数(selectedval){
警报(selectedval.name);
};
});

事实上,这是正确的


这里有一个。

我对angular不是很在行,但是如果你控制台选择了Val,它会输出什么?它返回一个未定义的值,警报会工作吗?我的意思是ChangeValue方法会触发吗?你为什么使用(键,值)?顺便说一句,我觉得你用错了。是否确实要在select中显示名称、代码段、年龄?@s.alem:是的,我要显示列名,然后在选择更改时连接所选列的所有值实际上我的下拉列表显示列名,而不是“名称、代码段和年龄”之类的值一旦我点击任何一个项目,我想要的是这个列名,而不是手机的名称/代码片段/年龄。因此,请更新您的答案检查我的编辑。这是你想要的还是我误解了?部分正确,一旦我选择了“名称”,它会将“Nexus S”记录在我想要“名称”的地方。请更新。请告诉我如何设置此下拉列表的选定值?
<div ng-controller="HelloController">

    <h2>Hello {{helloTo.title}} !</h2>
    <select ng-options="key for (key,val) in phones[0]" ng-change="ChangeValue(key)" ng-model="phones"></select>
</div>


<script>
    angular.module("myapp", [])
        .controller("HelloController", function ($scope) {
            $scope.helloTo = {};
            $scope.helloTo.title = "World, AngularJS";
            $scope.phones = [
                {
                    'name': 'Nexus S',
                    'snippet': 'Fast just got faster with Nexus S.',
                    'age': 1
                },
                {
                    'name': 'Motorola XOOM™ with Wi-Fi',
                    'snippet': 'The Next, Next Generation tablet.',
                    'age': 2
                },
                {
                    'name': 'MOTOROLA XOOM™',
                    'snippet': 'The Next, Next Generation tablet.',
                    'age': 3
                }
            ];
            $scope.ChangeValue = function (selectedval) {

                alert(selectedval.name);
            };
        });
</script>
<select ng-options="key as key for (key,value) in phones[0]" ng-change="ChangeValue()" ng-model="selectedVal"></select>
angular.module("myapp", [])
        .controller("HelloController", function ($scope) {
$scope.helloTo = {};
  $scope.helloTo.title = "World, AngularJS";
  $scope.selectedVal = '';
  $scope.phones = [{
    'name': 'Nexus S',
    'snippet': 'Fast just got faster with Nexus S.',
    'age': 1
  }, {
    'name': 'Motorola XOOM™ with Wi-Fi',
    'snippet': 'The Next, Next Generation tablet.',
    'age': 2
  }, {
    'name': 'MOTOROLA XOOM™',
    'snippet': 'The Next, Next Generation tablet.',
    'age': 3
  }];
  $scope.ChangeValue = function() {

    console.log($scope.selectedVal);
  };
});