У цьому спадному меню вибору вибрано "Enbridge Billing".
<select class="form-control required ng-pristine ng-valid" ng-model="finance.payment_method" id="payment_method" name="payment_method">
<option value=""></option>
<option value="EGD" selected="selected">Enbridge Billing</option>
<option value="PAPP">PAD Billing</option>
</select>
Однак на екрані його не вибрано:
Я видалив усі речі з app.js, і все ще проблема вирішується:
var app = angular.module("portal", []);
app.config(function($interpolateProvider) {
$interpolateProvider.startSymbol("%%");
$interpolateProvider.endSymbol("%%");
});
app.controller("NewJobFinanceController",
function ($scope) {
});
Редагувати:
Я щойно робив це в контролері:
$scope.finance.payment_method = $("#payment_method").find(":selected").val();
Відповіді:
4 для відповіді № 1Єдиною точкою істини в кутовому є модель. Не вигляд. Ви оновлюєте модель, а представлення оновлюється, щоб відображати стан моделі.
Ви налаштували поле вибору як
<select ng-model="finance.payment_method" ...>
Отже, це означає, що вибране на даний момент значення finance.payment_method
. Це "куди" отримує вибране значення. Оскільки воно не визначене, у вас є порожнє поле для вибору.
BTW, ви не повинні встановлювати, обов'язкові, ng-незаймані та ng-дійсні як клас у вибраному вами вікні. angular додасть та видалить ці класи самостійно, залежно від фактичного стану контролю форми.
2 для відповіді № 2
Просто використовуйте ng-selected="true"
замість selected="selected"
.