更改下拉/选择的值时,Angularjs不会更新ng-model的值

时间:2019-05-28 14:15:28

标签: angularjs-ng-model jquery-events angularjs-ng-change angularjs-events

当我更改select的选项值时,其ng-model值未更改。 这是因为Jquery更改了值而发生的吗? 因为我从w3school读到有关angularjs的一行内容,所以只有在输入值发生实际更改时才触发ng-change事件,如果更改是通过JavaScript进行的,则不会触发ng-change事件。

我想澄清一下j查询正在更改选项值。

请向我建议适当的解决方案,或告诉我代码中的错误。

这是我的html

<div class="row" ng-app="myapp" ng-controller="mycontroller" id="mainController">
    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
        <div class="form-group">
            <p>Rooms
                <% no_of_rooms %>
            </p>
            <select ng-init="no_of_rooms='1'" autocomplete="off" ng-model="no_of_rooms" class="form-control" id="no_of_rooms" style='display:none' name="no_of_room" style="height: 39px !important;">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
            </select>
        </div>
    </div>

    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" ng-repeat="i in getNumber(no_of_rooms) track by $index">
        <div class="form-group">
            <p>Adult (12+ YRS)</p>
            <select autocomplete="off" class="form-control" style='display:none' name="no_of_adults[]" style="height: 39px !important;">
                <option value="0">0</option>
                <option value="1" Selected>1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
            </select>

        </div>
    </div>
</div>

这是我的剧本。

var app = angular.module('myapp', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});
app.controller('mycontroller', function($scope , $filter) {
 $scope.getNumber = function(num) {
        return new Array(parseInt(num));   
    }
});

0 个答案:

没有答案
相关问题