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 に答える