【问题标题】:Knockout.js options custom data-somethingKnockout.js 选项自定义数据的东西
【发布时间】:2013-02-12 16:04:52
【问题描述】:

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

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

结果如下:

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

请回复。

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin


    【解决方案1】:

    Custom Binding

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

    然后添加这个自定义绑定方法,这里可以自己处理数组,手动将每个选项添加到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>');
            });
        }
    };
    

    我没有测试过这个,但你应该明白了。

    【讨论】:

      【解决方案2】:

      也许这就是你要找的东西?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-01
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        相关资源
        最近更新 更多