2013-02-27 86 views
0

Knockoutjs綁定有什麼辦法可以指定自定義數據 - 選項嗎?Knockout.js選項自定義數據 - 東西

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

,這導致:

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

請不要回復。

回答

1

Custom Binding

<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>'); 
     }); 
    } 
}; 

我沒有測試這一點,但你應該明白了。

+0

好的工作,然後提問者 – nav0611 2013-02-28 07:57:28

0

也許這是你在找什麼?

<select data-bind="foreach: filtered"> 
    <option data-bind="text: Text, attr: {value: Value, 'data-something': Description}"></option> 
</select>