0

在 Knockoutjs 绑定中有什么方法可以指定自定义数据输入选项吗?

<select data-bind="options: filtered, value: value, optionsText: 'Text', optionsValue: 'Value', 'data-something': 'Description' }"></select>

结果:

<option value="foo" data-something="description">Text</option>

请回复。

4

2 回答 2

1

自定义绑定

<select data-bind="createDropDown: filtered"></select>

然后添加这个自定义绑定方法,在这里你可以自己处理数组并手动将每个选项添加到选择中:

ko.bindingHandlers.yourBindingName =
{
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
    {
        ko.utils.arrayForEach(valueAccessor(), function (item)
        {
            $(element).append('<option value="' + item[value] + '" data-something="' + item[description] + '">' + item[text] + '</option>');
        });
    }
};

我没有对此进行测试,但你应该明白这一点。

于 2013-02-27T09:22:53.373 回答
0

也许这就是你要找的?

<select data-bind="foreach: filtered">
    <option data-bind="text: Text, attr: {value: Value, 'data-something': Description}"></option>
</select>
于 2013-02-27T20:11:16.807 回答