2014-09-08 3 views
6

Я использую Ionic Framework.
Я хотел бы ввести первый вариант как значение по умолчанию, но делать это таким образом не работает.
Что делать?Выберите параметр по умолчанию, который не работает с Ionic Framework

<select ng-model="newSpesaAereo.valuta"> 
    <option ng-selected="selected">Euro</option> 
    <option>Dollaro</option> 
    <option>Dollaro canadese</option> 
    <option>Sterlina</option> 
</select> 

enter image description here

Если я анализирую страницу с Google Chrome Developer Utility Я наблюдаю это.

enter image description here

Если отредактировать этот HTML и я удалить выбранную строку, а затем Евро видна.

Почему это происходит?

ответ

2

Вам нужно использовать ng-selected вместо выбранного.

https://docs.angularjs.org/api/ng/directive/ngSelected

<select ng-model="newSpesaAereo.metodoPagamento"> 
    <option ng-selected="selected">Carta di credito</option> 
    <option>Bancomat</option> 
    <option>Contanti</option> 
    <option>Altro</option> 
</select> 
+1

Еще не работает ... – Marco

+0

Я добавил больше деталей к моей проблеме. – Marco

+0

Можете ли вы попробовать создать кодекс или что-то там, где мы можем увидеть проблему? –

10

Причина вариант по умолчанию не работает потому, что в вашем контроллере, вы, вероятно, инициализируются ваша форма модели, как так:

$scope.newSpesaAereo = {} 

Если вы хотите задайте параметры формы по умолчанию, вы также должны установить их в модели формы. Например, установите «valuta» на «Euro» следующим образом:

$scope.newSpesaAereo = { valuta: "Euro" } 

Надеюсь, это поможет!

P.S при публикации таких вопросов вы также должны включить код для контроллера, с которым связано представление.

+0

+1 Я показываю другие элементы формы на основе выбранного значения. Поэтому установка значения по умолчанию в объекте, как показано в этом решении, отлично работала для меня. – Devner

+0

Вы были правы, у меня был инициализирован пустой объект! Изменилось это, и это сработало, спасибо :) –

13

ng-selected="true".

Пример:

<option ng-selected="true">Carta di credito</option> 
+0

Хотя это решение работает в этом случае, оно не срабатывает в другом случае. Я показываю (и скрываю) другие элементы формы на основе выбранного значения по умолчанию. Хотя ng-selected = "true" показывает выбранное значение по умолчанию, он не может отображать другие элементы формы, которые связаны с этим выбранным параметром. Поэтому, если вы ищете аналогичную функциональность, как моя, я предлагаю попробовать решение, предоставленное @ lisimba.gilkes, так как оно отлично работает. – Devner

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