2015-12-18 3 views
1

У меня есть выпадающее меню, которое получает его элементы из базы данных. Значение по умолчанию, которое должно быть выбрано в этом выпадающем списке, извлекается из файла cookie. Проблема в том, что
1. В качестве первой опции есть пустой тег параметра, а также
2. Значение по умолчанию не выбрано.
Нет проблем, когда я использую v1.3.16. Это происходит при использовании v1.2.0. (Я должен использовать только v1.2.0)
Как это исправить.Angularjs 1.2 добавляет пустую опцию в select

ASPX:

<select id="ddlItems" data-ng-model="ItemId"> 
<option value="-1">-- All Circles --</option> 
<option data-ng-repeat="item in Items" value="{{item.AreaCode}}" 
    data-ng-selected="item.AreaCode==ItemId">{{item.AreaName}}</option> 
</select> 

Ctrl.js:

var promise = MyFactory.GetItems(); 
promise.then(function (success) { 
if (success.data != null && success.data != '') { 
    var data = success.data; 
    $scope.Items = data.lstItems; //bind items to dropdown  
    $scope.ItemId = itemIdFromCookie; //select default value 
    alert(itemIdFromCookie); //it pops -1      
} 
else { 
    console.log(success.data); 
} 
} 

Вынесено HTML:

<select id="ddlItems" data-ng-model="ItemId"> 
<option value="? string:"-1" ?"></option> 
<option value="-1">-- All Circles --</option> 
//...other options 
</select> 
+0

@ ErikE. Я уверен, потому что я опубликовал рабочий код. – Qwerty

+0

Я пробовал свой путь. Не привязывает элементы вообще. – Qwerty

ответ

1

Попробуйте использовать ngOptions вместо

Как это

<select id="ddlItems" 
    data-ng-model="ItemId" 
    ng-options="item.AreaCode as item.AreaName for item in Items"> 
<option value="-1">-- All Circles --</option> 
</select> 
+0

Это не сработало. Существует еще тег опции emtpy, и первый параметр «- All Circles--» удаляется. – Qwerty

+0

Можете ли вы предоставить скрипку ?? @Qwerty –

1

Это происходит потому, что data-ng-model="ItemId" пуст, когда ваша модель App загружается.

Чтобы иметь начальное значение. Вы можете поставить значение по умолчанию в ng-init

Для Ex: data-ng-init='data-ng-model="--SELECT--";'

Или в массиве элемент списка, который вы получаете из базы данных установите один из значений.

Запомните init будет запущен b/f, если вы заполните Ajax Call.

+0

Я получаю предметы, а также желаемый ItemId из вызова ajax. Не могли бы вы предложить, как я поступаю в этом случае. – Qwerty

+0

После того, как элементы привязаны к значению select-data-ng-модели select set. –

+0

Но это то, что я сделал в своем коде. – Qwerty

Смежные вопросы