Как удалить все значения из выпадающего, кроме одного, выбранного из другого выпадающего

У меня есть три выпадающих:

    <select clas="col-md-3" ng-model="a.userList" ng-change="selectValues(a.userList)">
        <option>AX</option>
        <option>AF</option>
        <option>AM</option>
        <option>BX</option>
        <option>BF</option>
        <option>BM</option>
        <option>CX</option>
        <option>CF</option>
        <option>CM</option>
        <option>DX</option>
        <option>DF</option>
        <option>DM</option>
</select>
<select clas="col-md-3" ng-model="a.userCode">
        <option>A</option>
        <option>B</option>
        <option>C</option>
        <option>D</option>
</select>
<select clas="col-md-3" ng-model="a.userId">
        <option>X</option>
        <option>F</option>
        <option>M</option>
</select>

что я хочу, когда пользователь выбирает AX затем из двух других выпадающих списков A и X были выбраны соответственно, а все остальные значения были удалены из этих двух выпадающих списков.

Код моей директивы:-

               scope.selectValues = function(userList){
                    switch(userList){
                        case "AX" : scope.a.userCode = "A";
                                    scope.a.userId = "X";
                                    break;
                        case "AF" : scope.a.userCode = "A";
                                    scope.a.userId = "F";
                                    break;
                        case "AM" : scope.a.userCode = "A";
                                    scope.a.userId = "M";
                                    break;
                    };

                };

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

1 ответ

Вы должны поместить свои варианты в сферу!

JS

scope.userList = ["AX","AF", "AM", "BX", "BF"];
//Obviously put all of your options in this array also for the other selects
scope.userCode = [....];
scope.userId = [....];

HTML

Вам нужны нг-опции

 <select class="col-md-3" ng-model="a.userList"
     ng-options="option for option in topUserList track by $index"
     ng-change="selectValues(a.userList)"></select>

JS

 scope.selectValues = function(userList){
        scope.a.userCode = userList.charAt(0);
        scope.a.userId = userList.charAt(1);
        scope.userCode = [scope.a.userCode];
        scope.userId = [scope.a.userId];

 };
Другие вопросы по тегам