未在使用自定义绑定处理程序的选择下拉列表中设置初始值

时间:2019-02-14 21:00:57

标签: javascript knockout.js materialize

我想在淘汰赛中使用Materialize。但是从文档来看,通常的方法不起作用: <select data-bind="options: AvailableCountries, optionsValue: 'id', optionsText: 'name', value: SelectedCountry"></select> 整个下拉列表只是白色,无法正常显示

我在这里有一个自定义处理程序,它可以工作,但是它没有设置初始值。有人知道如何设置吗? SelectedCountryid

    <select data-bind="materializeselect: { options: AvailableCountries },
               options: AvailableCountries,
               optionsValue: 'id',
               optionsText: 'name',
               value: SelectedCountry">

 ko.bindingHandlers["materializeselect"] = {
        after: ['options'],
        init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
            // Initial initialization:
            $(element).material_select();

            valueAccessor().options.subscribe(function () {
                $(element).material_select();
            });
        },
        update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {

        }
    };

编辑: 在下拉列表中,选择了正确的国家(初始化时),当我单击其他国家时,该国家也会更改。奇怪的行为。

0 个答案:

没有答案