使用自定义模板在Knockout.Js中选择t2
Select2 in Knockout.Js with custom template
我想在knockout.js中使用select2
我有一个绑定处理程序。
ko.bindingHandlers.select2 = {
init: function(element, valueAccessor, allBindingsAccessor) {
var obj = valueAccessor(),
allBindings = allBindingsAccessor(),
lookupKey = allBindings.lookupKey;
$(element).select2(obj);
if (lookupKey) {
var value = ko.utils.unwrapObservable(allBindings.value);
$(element).select2('data', ko.utils.arrayFirst(obj.data.results, function(item) {
return item[lookupKey] === value;
}));
}
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).select2('destroy');
});
},
update: function(element) {
$(element).trigger('change');
}
};
我这样使用处理程序:
<select id="itemselector" data-bind="options: items, optionsText: 'Name', OptionsValue:'Id', select2: {}"></select>
现在要创建自定义模板,我必须向select2传递一个格式函数,如hthis
function formatSelection(item) {
return '<b>' + item.text + '</b>';
}
,但我不知道如何做到这一点与绑定句柄。有人能告诉我如何将formatfunction或字符串模板传递给绑定处理程序,以便将其应用于选择吗?
只需在select2绑定声明之后将您的选项添加到{}
中。例如:
<select id="itemselector" data-bind="options: items, optionsText: 'Name', optionsValue:'Id', select2: {formatResult: formatSelection}"></select>
回到你的问题,你正在使用的select2绑定对我来说是一个新版本。lookupKey
是如何使用的?
相关文章:
- 使用Fabric.js选择画布上的所有对象
- Raphael JS选择路径/对象/节点的特定实例
- 如何让Intro.js选择页面加载后动态生成的元素
- 访问knockout.js选择列表中的值时出现问题
- 分类Knockout js选择框
- 如何使用d3.js选择器删除处理程序
- Bootstrap-select.js-选择一个选项后,整个选择将消失
- 使用.js选择的JavaScript库,如何更改特定选项的值
- D3.js选择不起作用
- 在JS选择列表中按字母顺序对选项进行排序
- 三.js:“选择工具” 如何检测二维正方形和三维物体的交集
- 如何通过夜巡.js选择要输入的文件
- jQuery或JS:选择带有2级括号的输入字段
- Knockout.js选择绑定到对象的值
- HTML/PHP/JS 选择多个文件并通过FTP上传
- 当只使用js选择下拉值时,显示一个弹出窗口
- 如何在角度中使用默认选项.js选择框
- Ember.js选择在隐藏并再次显示时重置
- 我的JS选择器用于<ul>不起作用
- Bootstrap-btn组,数据切换=“;按钮”:如何使用JS选择一个按钮并取消选择所有其他按钮