$ scope。$ digest()不会填充select2下拉列表

斜线

我有2个使用ui-select2的下拉列表

                        <label class="control-label" for="MakeSelect">Make </label>
                    <select class="form-control col-md-2" id="MakeSelect" name="make" ui-select2
                            ng-model="carDetails.make">
                        <option ng-if="!carDetails.make" value="">[SELECT]</option>
                        <option ng-repeat="make in makes" value="{{ make }}">{{ make}}</option>
                    </select>
                </div>
                <div class="col-md-5">
                <label class="control-label" for="ModelSelect">Model </label>
                <select class="form-control col-md-2" id="ModelSelect" name="make" ui-select2
                        ng-model="carDetails.model">
                    <option ng-repeat="model in models" value="{{ model }}">{{ make}}</option>
                </select>

在下拉列表“ Makes”中选择一个值之后,我激活了一个手表,该手表在其中装载了“ Models”下拉列表的内容。然后,为了刷新GUI中的下拉列表内容,我调用$ scope。$ digest():

$scope.$watch('carDetails.make', function (make) {
    console.log('selected make is: ' + make);
    if (make == "") {
        return;
    }

    Parse.Cloud.run('getCarModels', {'Make': make}, {
        success: function (results) {
            $scope.parseModels = results.resultSet;
            $scope.models = results.distinctModels;
            $scope.$digest();
        },
        error: function () {
            console.log("Error: Failed to load models");
            console.log(Parse.Error);
        }
    });

问题在于,使用$ digest,第一个下拉列表的选定值将变为空值,否则,它不会刷新视图。

有什么建议吗?

卡贝

他们都指向同一个范围模型carDetails.make。因此,当然,第一个将变为null,因为第二个下拉列表将carDetails.make设置为null。另外,尽管您应该使用$ scope。$ apply,但我认为您不需要使用摘要。但是,angularjs应该仍然运行摘要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在select2下拉列表中预填充选定的选项

如何清除select2下拉列表?

角$ scope。$ digest vs $ scope。$ apply

具有自动填充以及添加新记录的select2下拉插件

角不会呈现$ scope

如何检索存储在select2下拉列表中的数据?

select2下拉列表的jquery验证popover位置问题

无法从select2下拉列表中选择结果

使用Ajax时清除select2下拉列表的正确方法是什么?

select2下拉列表是否支持使用ajax并允许用户输入新值?

通过javascript / jquery关闭select2下拉列表

从select2下拉列表中选择某个选项后触发动作

如何使用JqGrid更改select2下拉列表的选定值?

jQuery-克隆表行时禁用select2下拉列表

如何在单击时使Bootstrap Select2下拉列表转到所选的URL?

在jQuery datepicker上初始化select2下拉列表

如何使用从Select2下拉列表中选择的选项来触发jQuery?

单击硒中的select2下拉列表时出现问题

使用Struts标记在UI中无法正确显示Select2下拉列表

使用JS click()打开Select2下拉列表

如何使用Ajax在select2下拉列表中更新数据

Select2下拉选择框的样式

带硒的select2下拉菜单

在Colorbox中,Select2下拉失败

没有$ scope.digest,$ watch不会触发

Select2:防止Select2下拉菜单集中于点击

esc键关闭引导程序模式,但不关闭其中的select2下拉列表

Knockout / Select2下拉列表包含正确的选项,但现在不显示任何内容

Jinja for loop不会填充选择下拉列表