Javascript 对剑道ui输入符的宽度使用敲除
我在durandal项目中工作(javascript和html在单独的页面中编写)。 我有剑道组合,我通过声明wrraper输入宽度来给它宽度。 它工作得很好。但当我把它改成装订时,它就不起作用了。 这是我的代码(不起作用): html:Javascript 对剑道ui输入符的宽度使用敲除,javascript,css,knockout.js,kendo-ui,width,Javascript,Css,Knockout.js,Kendo Ui,Width,我在durandal项目中工作(javascript和html在单独的页面中编写)。 我有剑道组合,我通过声明wrraper输入宽度来给它宽度。 它工作得很好。但当我把它改成装订时,它就不起作用了。 这是我的代码(不起作用): html: <input id="kendoCombo" data-bind=" value:'444', style:{width:width}, kendoDropDownList: { dataSource: data, dat
<input id="kendoCombo" data-bind=" value:'444', style:{width:width},
kendoDropDownList: { dataSource: data,
dataValueField:itemValue,
dataTextField: itemText,
value:selectedId,
template: template,
change:onChange}" />
width:ko.observable('100px')
当我的宽度还没有装订好时,效果很好。以下是我以前的html代码:
<input style="width:100
id=" kendoCombo "
data-bind=" value: '444',
kendoDropDownList: { dataSource: data,
dataValueField:itemValue,
dataTextField: itemText,
value:selectedId,
template: template,
change:onChange} " />
问题是剑道在初始化时只设置下拉列表的宽度
一次,因此当Knockout更新样式绑定中的宽度
时,它对下拉列表
没有影响
但是,您可以在kendoDropDownList
的wrapper
属性(要求:2013年第1季度(2013.1.319版)或更新版本)上设置width
,并且您可以将此逻辑放入自定义bindingHandler中:
ko.bindingHandlers.kendoDropDownListWidth = {
update: function (element, valueAccessor) {
var dropdownlist = $(element).data("kendoDropDownList");
dropdownlist.wrapper[0].style["width"] =
ko.utils.unwrapObservable(valueAccessor());
}
};
然后像这样使用它:
<input id="kendoCombo" data-bind=" value:'444',
kendoDropDownListWidth: width,
kendoDropDownList: { dataSource: data,
dataValueField:itemValue,
dataTextField: itemText,
value:selectedId,
template: template,
change:onChange}" />
演示。您使用的是哪个KO版本?为什么要绑定宽度?您是只想初始化一次下拉列表宽度,还是想稍后再更新它,例如使用width('50px')
ebram tharwat,您的示例不包括剑道ui组合。常规输入的绑定宽度-我知道我也要这样做。nemesv-我使用2.3.0版,我想绑定宽度,因为我想以后更改。@user3127364kendoDropDownList
的宽度在初始化期间只设置一次,所以即使不使用knockout,也无法在以后设置。所以你可能需要改变KendoUi的来源来让它工作……我试过了,效果很好。非常感谢。现在我有一个问题:我给html输入元素宽度“206px”。对于kendoDropDownListWidth,我给出了‘206px’(也通过bindingHandler),但它看起来不一样。所以我给throus bindinghandler宽度“220px”,知道它看起来像输入。我的朋友,我是否可以使用其他属性(其他,而不是kendoDropDownList)?