Javascript 在Knockoutjs中设置引导选择器默认值

Javascript 在Knockoutjs中设置引导选择器默认值,javascript,jquery,twitter-bootstrap,knockout.js,Javascript,Jquery,Twitter Bootstrap,Knockout.js,我将以下引导选择器包装在自定义绑定中。我正在尝试填充各种邮件提供商的列表。我正确渲染,但无法设置值。注意我的代码this.selectedEmailProvider=ko.observable('MAILCHIMP'),它应该将MAILCHIMP设置为所选项目 我的自定义绑定可能有问题吗 /** * Selectpicker binding * @type {Object} */ ko.bindingHandlers.selectPicker = { init: function(ele

我将以下引导选择器包装在自定义绑定中。我正在尝试填充各种邮件提供商的列表。我正确渲染,但无法设置值。注意我的代码
this.selectedEmailProvider=ko.observable('MAILCHIMP')
,它应该将
MAILCHIMP
设置为所选项目

我的自定义绑定可能有问题吗

/**
* Selectpicker binding
* @type {Object}
*/
ko.bindingHandlers.selectPicker = {
    init: function(element, valueAccessor, allBindingsAccessor) {
        if ($(element).is('select')) {
            if (ko.isObservable(valueAccessor())) {
                ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor);
            }
            $(element).selectpicker().addClass('form-control');
        }
    },
    update: function(element, valueAccessor, allBindingsAccessor) {
        if ($(element).is('select')) {
            var selectPickerOptions = allBindingsAccessor().selectPickerOptions;
            if (typeof selectPickerOptions !== 'undefined' && selectPickerOptions !== null) {
                var options = selectPickerOptions.options,
                    optionsText = selectPickerOptions.optionsText,
                    optionsValue = selectPickerOptions.optionsValue,
                    optionsCaption = selectPickerOptions.optionsCaption;
                if (ko.utils.unwrapObservable(options).length > 0) {
                    ko.bindingHandlers.options.update(element, options, ko.observable({
                        optionsText: optionsText,
                        optionsValue: optionsValue,
                        optionsCaption: optionsCaption
                    }));
                }
            }
            if (ko.isObservable(valueAccessor())) {
                ko.bindingHandlers.value.update(element, valueAccessor);
            }

            $(element).selectpicker('refresh');
        }
    }
};

如果您发现我尝试过的这个实现有任何问题,请告诉我。注意这一行:var value=allBindingsAccessor.get('value');if(typeof value!=='undefined'){$(element).selectpicker('val',value());}