Angularjs ng-model - конвертировать строку в число - PullRequest
0 голосов
/ 17 мая 2018

Я вижу пустое выпадающее меню, которое, как я подозреваю, связано с дополнительной опцией, которая вводится. Если я смогу сгенерировать эту дополнительную опцию, думаю, моя проблема будет решена.

Опция автоматического впрыска:

<option value="? number:1 ?" selected="selected"></option>

My View:

<select id="myValue"
    ng-model="myObject.value"
    ng-change="foo()">
    <option value="0"
        localize="MyValue0"
        ng-selected="myObject.value === 0"></option>
    <option value="1"
        localize="MyValue1"
        ng-selected="myObject.value === 1"></option>    
</select>

Как я могу преобразовать myObject.value в число? Я пробовал ng-Model = "parseInt (myObject.value)" и ng-model = "myObject.value | number". Оба выдают ошибку не назначаемого элемента. Я использую Angularjs 1.6 и отхожу от директив, поэтому создание функции angular.directive может оказаться невозможным

1 Ответ

0 голосов
/ 17 мая 2018

Я считаю, что в Angular рекомендуется использовать директиву ngOptions, задокументированную здесь .

Также, что касается первого параметра <option value="? number:1 ?" selected="selected"></option>, я подозреваю, что это потому, что начальное значение myObject.value не соответствует ни одному из возможных значений параметров.

Попробуйте это:

<select id="myValue" ng-model="myObject.value" ng-change="foo()"
        ng-options="item for item in options">
    <option value="" disabled selected style="display:none;">Placeholder</option>
</select>

JSFiddle здесь показывает, что myObject.value является числом.

Обновлен JSFiddle для отображения раскрывающегося списка без заполнителя.

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