knockout-x-editable不加载选择列表

时间:2014-07-04 15:05:38

标签: knockout.js x-editable

我是x-editable和knockout的新手,任何人都可以帮我解释为什么以下代码没有加载选择列表,因为它会出现错误"加载列表时出错"

$(document).ready(function () {

    var viewModel = function () {
        var self = this;
        self.id = ko.observable();
        self.firstName = ko.observable();
        self.lastName = ko.observable();

        self.genders = ko.observableArray( [
            { id: 1, text: "Male" },
            { id: 2, Description: "Female"  }
        ]);

        self.gender = ko.observable();
        self.firstName = ko.observable('John');
        self.lastName = ko.observable('Doe');
        self.gender = ko.observable(2);
    }

    ko.applyBindings(new viewModel());

    EditableManager.registerEditable();
    EditableManager.onSuccess = function (result) {

    };

});

HTML

 <span data-type='select' data-showbuttons="false"  data-bind=" editable: gender,  editableOptions: {pk: id, options: genders, optionsText: 'text', optionsValue: 'id'}"></span>

对此的任何帮助将不胜感激,

-George

2 个答案:

答案 0 :(得分:1)

在editableOptions中,将“选项”更改为“来源”。

在self.genders中,使用'value'和'text'定义对象键,因为我无法使optionsText和optionsValue起作用。

将名称更改为x-editable中的default options后,它应该有效(JS Bin)。

答案 1 :(得分:0)

如果你想使用参数options,你需要稍微改变一下,如果对对象/数组使用ko.mapping.fromJS,这一点尤其重要

<强>视图模型

ko.mapping.fromJS({
   selected: "a",
   myoptions: [{text:"AA", value:"a"},{text:"BB", value:"b"}]
})

选择

data-bind=" editable:selected, editableOptions:{
    type:'select', 
    options:myoptions, 
    optionText:'text', 
    optionsValue:'value'} "