Angularjs Angular select ngChange获取父json对象键而不是值
我创造了一个假设的例子;因为我不能和大家分享我的真实例子。请原谅我仓促创建的json文件 解决这个问题。假设我使用一个json文件填充了一个select,该文件包含一个(美国州)对象数组: State.jsonAngularjs Angular select ngChange获取父json对象键而不是值,angularjs,Angularjs,我创造了一个假设的例子;因为我不能和大家分享我的真实例子。请原谅我仓促创建的json文件 解决这个问题。假设我使用一个json文件填充了一个select,该文件包含一个(美国州)对象数组: State.json { "states": [ { code: "AL", name: "Alabama" }, { code: "AK", name: "Alaska"
{ "states":
[
{
code: "AL",
name: "Alabama"
},
{
code: "AK",
name: "Alaska"
},
{
code: "AS",
name: "American Samoa"
},
{
code: "AZ",
name: "Arizona"
},
{
code: "AR",
name: "Arkansas"
},
{
code: "CA",
name: "California"
},
{
code: "CO",
name: "Colorado"
},
{
code: "CT",
name: "Connecticut"
},
... etc...
]}
我拉入json文件并将其设置为范围项,如下所示:
main controller.js
app.controller('MainCtrl', function ('$scope') {
$scope.states = [
{ code: "AL": name: "Alabama" },
//etc
];
$scope.selectStateChange = function (stateCode) {
console.log(stateCode);
}
});
index.html
以下是我的选择:
<select ng-model="selectedState" ng-change="selectStateChange(selectedState)">
<option ng-repeat="state in states">{{state.name}}</option>
</select>
{{state.name}
我的问题
如何获取要传递到函数selectStateChange on my ng change中的实际状态代码?console.log(stateCode) 你试过了吗
$scope.selectStateChange = function (selectedState) {
console.log(selectedState.code);
}
console.log(stateCode);,将什么get记录到控制台中 你试过了吗
$scope.selectStateChange = function (selectedState) {
console.log(selectedState.code);
}
您应该尝试使用而不是ng repeat on选项
这样,您的模型将是最新的,访问所选对象将非常方便
在您的案例中应该是这样的:
<select ng-model="selectedState" ng-options="state.name for state in states" ng-change="selectStateChange()">
</select>
这样,selectedState等于{
代码:“AL”,
姓名:“阿拉巴马州”
}您应该尝试使用而不是ng repeat on选项
这样,您的模型将是最新的,访问所选对象将非常方便
在您的案例中应该是这样的:
<select ng-model="selectedState" ng-options="state.name for state in states" ng-change="selectStateChange()">
</select>
这样,selectedState等于{
代码:“AL”,
姓名:“阿拉巴马州”
}
未定义
选定状态返回状态。name@chrisjlee我建议按照sebastienbarbier的回答undefined
selected state返回状态。name@chrisjlee我建议遵循sebastienbarbier的回答抱歉在发送后做了一些更新,出现了一些错误。您是否故意不在selectStateChange函数中传递任何内容?是的,您可以从ng模型访问模型,因此在您的范围内A ok。这是有道理的。很抱歉,在发送后进行了一些更新,出现了一些错误。您是否有意不在selectStateChange函数中传递任何内容?是的,您可以从ng模型访问模型,因此在您的范围内A确定。这是有道理的。上面的描述不清楚您的$scope.states
是一个对象(散列)还是一个数组。很抱歉,这是一个状态对象数组。我已经更新了它。上面的描述不清楚您的$scope.states
是一个对象(散列)还是一个数组。很抱歉,这是一个状态对象数组。我已经更新了。