2017-04-21 61 views
0

我有選擇框。如何使用Angular JS在選擇框中選擇包括id和名稱值在內的所有字段

<select ng-model="sub_class_name" class="form-control"> 
<option ng-repeat="x in myData" value="{{x}}">{{x.sub_class_name}}</option> 
</select> 

想過去值到控制器是這樣的:

$scope.alertdata = function() { 
var parameter = { 
      "first_name": $scope.first_name, 
      "middle_name": $scope.middle_name, 
      "subclass": [$scope.sub_class_name] 
     } 
} 

打印參數

alert(JSON.stringify(parameter)); 

正在逐漸字符串化JSON輸出即

{"first_name":"Prashanth","middle_name":"H","last_name":"Rotti", 
"subclass":["{\"sub_class_id\":3,\"sub_class_name\":\"Dependent \"}"]} 

我不想要斜線["{\"sub_class_id\":3,\"sub_class_name\":\"Dependent \"}"]

I want JSON output like this. 
{"first_name":"Prashanth","middle_name":"H","last_name":"Rotti", 
"subclass":[{"sub_class_id":"3","sub_class_name":"Dependent"}] } 
+0

您是否嘗試過使用JSON.parse 「繼承」:JSON.parse($ scope.sub_class_name) – undefined

+0

使用[NG-選項](https://docs.angularjs.org/api/ng/directive/ngOptions),而不是爲了選擇整個對象。現在您正在選擇一個字符串的選項的值。 – andreim

回答

0

添加作爲回答我的意見,因爲它是不可能在評論正確地格式化數據: ** **更新由於 預期的數據類型爲字符串JSON格式,這樣你就可以初始化這樣

$scope.sub_class_name = "{}" // Or $scope.sub_class_name ="[]"; based on data type it may be 
$scope.alertdata = function() { 
var parameter = { 
      "first_name": $scope.first_name, 
      "middle_name": $scope.middle_name, 
      "subclass": [JSON.parse($scope.sub_class_name)] 
     } 
} 

alert(JSON.stringify(parameter)); 

讓我知道你是否面臨任何問題。

+0

K謝謝毫無疑問。工作fyne。 :) –

+0

嗨,我有多個選擇領域,我必須解析他們,但我得到一個錯誤。 SyntaxError:在位置0的JSON中出現意外的令牌ü –

+0

如果我選擇所有選擇選項,那麼它正在工作,否則它會引發異常.. –

0

使用JSON.parse()

它會做的伎倆。

enter image description here

+0

JSON.parse參數我必須使用$ scope.sub_class_name。 –

+0

@PrashanthHarish是的,正是:) –

相關問題