使用json选择下拉值

时间:2015-07-29 21:29:25

标签: javascript angularjs

我需要使用json选择一个下拉值。我可以轻松地将数据输入到文本输入中,但如何选择下拉值?

http://plnkr.co/edit/R5RNruDNUydSJufVRIVh

拉入json:

app.controller('MainCtrl', function ($scope, $http, $log) {

  // bind json data to form
  $http.get('static.json').
    success(function(data, status, headers, config) {
      $scope.data = data;
  }).
  error(function(data, status, headers, config) {
    // log error
  });

});

将json数据放入我们的表单中:

<h4>Select value 2 using json data</h4>

<select data-ng-model="data.myDropdown.value">
  <option value="">Select a value</option>
  <option value="1">Value 1</option>
  <option value="2">Value 2</option>
</select>


<hr />

<h4>I can pull in json data into text inputs but not dropdowns.</h4>

<p><input type="text" name="textData" data-ng-model="data.textData"></p>

json:

{
  "textData":"Example text data",
  "myDropdown":"value 2"
}

2 个答案:

答案 0 :(得分:1)

将您的模型更改为:

<select data-ng-model="data.myDropdown">

值得:

<option value="value 2">Value 2</option>

工作插件:http://plnkr.co/edit/zQR77KalooP1gUXRILV0

答案 1 :(得分:1)

首先,value中的data-ng-model="data.myDropdown.value"不是必需的。 data.myDropdown已经是一个字符串,因此.value会为您提供undefined

其次,<option>与值匹配,而不是与文本匹配。因此,您应将JSON值更改为2,或将选项的值更改为value 2