Javascript 仅获取第一级对象
当用户选择选项时,我通过打印在页面上的选择框选择对象 但是,它当前打印父对象和嵌套在父对象中的所有其他对象 我的数组示例Javascript 仅获取第一级对象,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,当用户选择选项时,我通过打印在页面上的选择框选择对象 但是,它当前打印父对象和嵌套在父对象中的所有其他对象 我的数组示例 $scope.productsandformats = [ { "Pname": "parent", "format": [ {"Fname": "child", "id": "4"}, {"Fname": "second
$scope.productsandformats = [
{
"Pname": "parent",
"format": [
{"Fname": "child", "id": "4"},
{"Fname": "second child", "id": "5"}
]
}
];
我的角度和html选择框
<select ng-model="formData.ProductType"
ng-options="product.Pname for product in productsandformats">
<option value="">- Please Choose -</option>
</select>
<pre class="col-sm-12 ng-binding">
{{ formData }}
</pre>
您可以像这样访问第一级对象
<div ng-repeat='p in formData.productType'>
{{p.pname}}
</div>
{{p.pname}}
如果您阅读了上的文档,您可以使用选择为
指定在ngModel上设置的was对象
对于第二次选择,我建议在第一次选择上使用ng change
,将该对象存储在范围上的另一个变量中,您可以使用该变量进行第二次选择
var myApp=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.productsandformats=[{
“Pname”:“父项”,
“格式”:[{
“Fname”:“child”,
“id”:“4”
}, {
“Fname”:“第二个孩子”,
“id”:“5”
}]
}];
$scope.formats=[];
$scope.productTypeChange=函数(){
$scope.formats=$scope.productsandformats.find(ps=>ps.Pname==$scope.formData.ProductType.Pname);
}
}
-请选择-
-请选择-
{{formData}}
这是JSON而不是Jason…这与JSON(或Jason)没有任何关系。是的,我代表我的拼写错误感谢你看到了这一点,我怎么会认为对一个简单的拼写错误投反对票有点多呢?投反对票的可能性很小,因为你用Jason代替了JSON。看到了吗?你有一个对象数组。它不是JSON(可能是一个字符串)。看起来不错,需要花费几分钟的时间为我的代码修改它,因为我有两个选择框,第二个根据第一个选择填充+1作为链接和信息。@Beep好的,我已经编辑了代码,如果您想将其输出为{“ProductType”:“parent”}
,那么这很快。我现在会尝试更新我的代码,thanks@Beep请参阅我的编辑。下次请发布您的全部问题。@Beep这不是问题,您可能需要重新查看我发布的代码,因为我注意到第一个选择框没有正确跟踪。谢谢,我下班后会的:)希望你也喜欢你的。
<div ng-repeat='p in formData.productType'>
{{p.pname}}
</div>