Knockout.js 在下拉列表中选择2.js不工作

Knockout.js 在下拉列表中选择2.js不工作,knockout.js,durandal,jquery-select2,Knockout.js,Durandal,Jquery Select2,我正在使用Select2.js、KnockoutJs、durandal2.0 var ViewModel = [ { id: "AL", text: "Alabama" }, { id: "AK", text: "Alaska" }, { id: "AZ", text: "Arizona" }, { id: "AR", text: "Arkansas" }, { id: "CA", text: "Califo

我正在使用Select2.js、KnockoutJs、durandal2.0

var ViewModel =
    [
        { id: "AL", text: "Alabama" },
        { id: "AK", text: "Alaska" },
        { id: "AZ", text: "Arizona" },
        { id: "AR", text: "Arkansas" },
        { id: "CA", text: "California" },
        { id: "CO", text: "Colorado" }
    ]
var stateQuery = function (query) {

    var states = [];
    ko.utils.arrayForEach(states, function (state) {
        if (state.text.search(new RegExp(query.term, 'i')) >= 0) {
            states.push(state);
    }
    });
当在下拉列表中绑定时,它工作正常。但是如果我将文本更改为文本名称,我将无法转换为未定义的大写


这是一个有选择的惯例

默认实现要求对象具有文本属性 这是返回的

要更改此行为,应指定函数
formatResult
formatSelection
,并指定新的文本属性:

function format(item) {
    return item.Text_Name
}
如果您使用的是敲除绑定处理程序:

<select data-bind="options: states, optionsValue: 'id', optionsText: 'text', value: states, select2: { formatSelection: format, formatResult: format  }"></select>

这是一个select2约定:

默认实现要求对象具有文本属性 这是返回的

要更改此行为,应指定函数
formatResult
formatSelection
,并指定新的文本属性:

function format(item) {
    return item.Text_Name
}
如果您使用的是敲除绑定处理程序:

<select data-bind="options: states, optionsValue: 'id', optionsText: 'text', value: states, select2: { formatSelection: format, formatResult: format  }"></select>


Hi thx Margabit其工作正常。但搜索功能为nt wrkng。我的html是这样的,请用这个新问题发布另一个问题,这样我们就可以写出正确的答案;)Hi-thx Margabit其工作状态良好。但搜索功能为nt wrkng。我的html是这样的,请用这个新问题发布另一个问题,这样我们就可以写出正确的答案;)