如何在select上创建绑定到data-text-field?

时间:2013-12-19 10:05:14

标签: javascript mvvm kendo-ui kendo-mvvm

我有一个由select元素初始化的下拉列表。

如何创建mvvm绑定到选定的数据文本字段?

我没有数据源。

<select id="size">
                <option value="1">S - 6 3/4"</option>
                <option value="2">M - 7 1/4"</option>
                <option value="3">L - 7 1/8"</option>
                <option value="4">XL - 7 5/8"</option>
</select>

我必须绑定到选定的文本。例如:M - 7 1/4"value

更新

1 个答案:

答案 0 :(得分:0)

您可以简单地绑定到<select>的值 - 如果选项没有设置值,这将使用文本;如果你需要两者,你可以使用文本的计算字段:

HTML:

<div id="bindme">
    <select id="size" data-bind="value: selectedValue">
        <option value="1">S - 6 3/4"</option>
        <option value="2">M - 7 1/4"</option>
        <option value="3">L - 7 1/8"</option>
        <option value="4">XL - 7 5/8"</option>
    </select>
    <div data-bind="text: selectedValue"></div>
    <div data-bind="text: selectedText"></div>
</div>

JS:

var viewModel = kendo.observable({
    selectedValue: 2,
    selectedText: function () {
        var value = this.get("selectedValue");
        var text = $('#size option[value="' + value + '"]').html();

        return text;
    }
});

kendo.bind($("#bindme"), viewModel);

See demo

还有其他方法可以做到这一点(这不是很漂亮,因为它与DOM结合),例如:使用自定义绑定或like this。这取决于你的确切设置。