我有六个 KendoUI 下拉列表框。当其中一个框的值发生更改时,如何调用一个事件来更新我们数据库中每个下拉框中的数据,对于所有列表框?
问问题
419 次
2 回答
0
只需将它们全部绑定到由服务器调用更新的相同数据源。无论该数据源中发生什么,都会影响“绑定”到它的每个元素。
http://docs.kendoui.com/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 回答