Поле выбора Angualrjs, читающее текст объекта Json

0

то, что я пытаюсь сделать, это сделать выборку, которая читает текст из данных json. Я как-то не могу прочитать ценность, и я не уверен, почему.

Вот мой код

Мой раскрывающийся список:

   <label class="item item-input item-select">
                <b class="input-label">Claim Type:</b>
                <select ng-model="claimType" required>
                  <option value="Select claim" title="Select Claim" selected disabled>Claim Type</option>
                  <option ng-repeat="claim in claimType " value="{{claim.value}}"
                          ng-selected="{{claim.value== claimType}}">
                          {{claim.text}} 
                              </option>
                            </select>
                        </label>

Мой Json Object

 angular.module('app')
        .factory('WebApi', function () {

            var claimType = [{
                value: "Car",
                text: "Car",
            }, {
                value: "Boat",
                text: "Boat",
            }, {
                value: "Others",
                text: "Others"
            }]
        })
 //Display 50 items randomly
   var tempData = [];
        for (var i = 0; i < 50; i++) {
                    var selectedClaimType = claimType[Math.floor((Math.random() * claimType.length))];
                   tempData.push({
                        claimType: selectedClaimType.text,
                    })
                };
            return {
              getClaimTypes: function () {

                    return selectedClaimType.text;
                },
            }

В моем контроллере я позвонил

$scope.claimType = WebApi.getClaimTypes();
Теги:
angularjs-service

1 ответ

0

Вы можете использовать ng-options для управления списком выбора.

<label class="item item-input item-select">
    <b class="input-label">Claim Type:</b>
    <select ng-model="claimType" required
      ng-options="transport.text for transport in traffic">
      <option value="" title="Select Claim" selected disabled>Claim Type</option>
    </select>
</label>

Это привяжет выбранный transport к claimType. Если вы хотите, чтобы claimType присваивал значение transport.value, вы можете:

<label class="item item-input item-select">
    <b class="input-label">Claim Type:</b>
    <select ng-model="claimType" required
      ng-options="transport.text as transport.value for transport in traffic">
      <option value="" title="Select Claim" selected disabled>Claim Type</option>
    </select>
</label>
  • 0
    спасибо за ваш быстрый ответ, что если у меня что-то подобное? Я заметил, что я не могу этого сделать, потому что у меня есть случайное свойство, у вас есть идеи, как это исправить? Мне это нужно для циклов, потому что я хочу отобразить 50 фиктивных данных. Спасибо
  • 0
    Ваш код показывает, что вы создаете массив tempData и tempData в него некоторые значения, но я не вижу, где вы использовали этот «случайный» массив в привязке selectlist ....
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню