1

我有六个 KendoUI 下拉列表框。当其中一个框的值发生更改时,如何调用一个事件来更新我们数据库中每个下拉框中的数据,对于所有列表框?

4

2 回答 2

0

只需将它们全部绑定到由服务器调用更新的相同数据源。无论该数据源中发生什么,都会影响“绑定”到它的每个元素。

http://docs.kendoui.c​​om/api/web/dropdownlist#configuration-dataSource

于 2013-07-24T12:07:42.183 回答
0

是的你可以!您不需要一一更新,但您可以定义并ObservableObject使用数据库中的数据进行更新并获得所有更新。

为简单起见,我还将在ObservableObject每个DropDownList. 我所拥有的是:

var viewModel = kendo.observable({
    data : [
        [ "text_1_1", "text_1_2", "text_1_3", "text_1_4" ],
        [ "text_2_1", "text_2_2", "text_2_3", "text_2_4" ],
        [ "text_3_1", "text_3_2", "text_3_3", "text_3_4" ],
        [ "text_4_1", "text_4_2", "text_4_3", "text_4_4" ],
        [ "text_5_1", "text_5_2", "text_5_3", "text_5_4" ],
        [ "text_6_1", "text_6_2", "text_6_3", "text_6_4" ]
    ],
    value: [
        "text_1_3", "text_2_2", "text_3_1", "text_4_1", "text_5_2", "text_6_3"
    ]
});

然后我将它绑定到一个包含所有DropDownList.

kendo.bind($("#dropdown-all"), viewModel);

HTML 是:

<div id="dropdown-all">
    <select data-role="dropdownlist" data-bind="source: data[0], value: value[0]"></select>
    <select data-role="dropdownlist" data-bind="source: data[1], value: value[1]"></select>
    <select data-role="dropdownlist" data-bind="source: data[2], value: value[2]"></select>
    <select data-role="dropdownlist" data-bind="source: data[3], value: value[3]"></select>
    <select data-role="dropdownlist" data-bind="source: data[4], value: value[4]"></select>
    <select data-role="dropdownlist" data-bind="source: data[5], value: value[5]"></select>
</div>

现在,如果你想更新所有的值,你应该这样做:

viewModel.set("value", [
    "text_1_4", "text_2_4", "text_3_4", "text_4_4", "text_5_4", "text_6_4"
]);

在此处运行示例:http: //jsfiddle.net/OnaBai/ac5nF/

于 2013-07-24T18:18:33.860 回答