问问题
59 次
1 回答
0
您可以使用计算创建一个包装器对象来修剪您的文本:
var ItemModel = function(value){
var self = this;
self.value = ko.observable(value);
self.text = ko.computed(function(){
val = self.value();
if (val.length > 15){
return val.substring(0, 15) + "...";
}
return val;
});
};
添加使用它而不是普通的 js 对象:
self.listOptions = ko.observableArray([
new ItemModel('Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci'),
new ItemModel('Neque porro quisquam est qui dolorem ipsum'),
new ItemModel('Proin ultrices, tellus id placerat congue, neque justo commodo purus, et pulvinar massa')
]);
您还需要修改绑定以使用不同的属性value
和text
:
<select data-bind="foreach: listOptions, value: selectedValue, attr: {title : selectedValue}" >
<option data-bind="text: text, value: value"></option>
</select>
这是工作的jsbin:http: //jsbin.com/oFIdAXO/3/edit
于 2013-10-25T10:41:01.953 回答