Чтобы установить значения в опциях выбора в angularjs - PullRequest
0 голосов
/ 17 января 2020

У меня есть одна опция выбора для раскрывающегося списка и две функции множественного выбора, а также для раскрывающегося списка.

Они получают параметры из базы данных и используют ng-параметры для отображения выпадающего списка. список вниз.

Но я также хочу сохранить значение stati c в этих полях.

Для этого я написал код, но он не работает:

Коды:

HTML код:

<div class="form-group" >
    <label class="col-sm-2 control-label">Company: </label>
    <div class="col-sm-10">
    <select  class="form-control m-b"
             ng-model="recom.compName" id ="company"  name="account"
             ng-options = "x as x.compName for x in companyInfo"
             ng-change="onSelect()" required>
    <!-- <option value="">--Select--</option> -->
    </select>
    </div>
    </div>
    <div class="form-group">
    <label style = "position:relative; left:-170px; top:38px">Params:</label>
    <div style = "position: relative; left: 200px; top: 10px">
    <select multiple chosen class="chosen-select"
            ng-model="recom.recoparams" name="account7" id="recoParams"
            tabindex="4" style = "width:880px;"
            ng-options = "y as y.paramName for y in parameters">
        <option value="">--Select--</option>
    </select>
    </div>
    </div>
    <div class="form-group" ng-show="recom.radio=='Demographics'">
        <label style="position: relative; left:7px; top: 8px">Demographics:</label>
        <div style = "position: relative; left:200px; top: -20px">
            <select multiple chosen class="chosen-select" id="demo"
                    ng-model="recom.demo" 
                    ng-options = "z as z.demographicName for z in demotype" 
                    tabindex="4" style = "width:880px;"> 
            </select>

        </div>
    </div>

Код контроллера:

$scope.recom.compName = data2[0].compName;// value is coming but its not
                                          // shown in the field in form
$scope.recom.demoName = data2[0].demoName;// value is an array
$scope.recom.paramName = data2[0].paramName;// value is an array

Так что, где я делаю это неправильно.

Спасибо

1 Ответ

1 голос
/ 17 января 2020

Из документов:

Сложные модели (объекты или коллекции)

По умолчанию ngModel наблюдает за моделью по ссылке, а не по значению. Это важно знать при привязке выбора к модели, которая является объектом или коллекцией.

Одна проблема возникает, если вы хотите предварительно выбрать опцию. Например, если вы установите модель для объекта, равного объекту в вашей коллекции, ngOptions не сможет установить выбор, потому что объекты не идентичны. Поэтому по умолчанию вы всегда должны ссылаться на элемент в вашей коллекции для предварительного выбора, например: $scope.selected = $scope.collection[3].

Для получения дополнительной информации см.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...