Knockout.js 在下拉列表中选择2.js不工作
我正在使用Select2.js、KnockoutJs、durandal2.0Knockout.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
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是这样的,请用这个新问题发布另一个问题,这样我们就可以写出正确的答案;)