选择标签 HTML 上的值将数组转换为字符串 Javascript

value on select tag HTML convert array to string Javascript

本文关键字:转换 数组 字符串 Javascript 标签 HTML 选择      更新时间:2023-09-26

我正在使用Javascript和Angular Js,在我的控制器中,我有以下项目:

$scope.address = [];
$scope.states = [
    { name:"State 1", cities:[ "City Mexico 1", "City Mexico 2","City Mexico 3"] },
    { name:"State 2", cities:["City  1", "City  2", "City  3"] }
  ];

在我看来,我正在做:

<select ng-model="address.state" placeholder="Estado" >
            <option ng-repeat="state in states" value="{{state}}"> {{state.name}}</option>
          </select>  

如果我选择一个选项,然后我执行控制台.log(地址.state),我将对象作为字符串而不是数组。如何将对象作为数组 (json) 获取。

控制台输出如下所示:

[state: "{"name":"State 1","cities":["City Mexico 1","City Mexico 2","City Mexico 3"]}"]

我想将对象作为数组获取,因为那样我就会$Scope.address.state.city

无需对<option>标签执行ng-repeat,而是可以在<select>标签中执行ng-options

<select ng-model="address.state" ng-options="state.name for state in states" placeholder="Estados"></select>

这样,状态对象就传递到$scope.address,你可以做$scope.address.state.cities

工作示例:https://plnkr.co/edit/k2gK5GNEt2xTrMbwih7V?p=preview