Jquery 剑道多选数据在剑道UI 2016升级后消失
我们正在使用剑道2013,并已升级到2016版。 升级后,我们面临剑道多选的问题 控件,该控件使用ajax调用绑定数据。(预填充的Multi-select控件没有问题)。Multi-select将根据剑道下拉列表中选定的数据填充。 在某些情况下,“多选”值将消失 有关更多信息,请参阅视频 以下是使用的控件 ****下降*********Jquery 剑道多选数据在剑道UI 2016升级后消失,jquery,kendo-ui,upgrade,Jquery,Kendo Ui,Upgrade,我们正在使用剑道2013,并已升级到2016版。 升级后,我们面临剑道多选的问题 控件,该控件使用ajax调用绑定数据。(预填充的Multi-select控件没有问题)。Multi-select将根据剑道下拉列表中选定的数据填充。 在某些情况下,“多选”值将消失 有关更多信息,请参阅视频 以下是使用的控件 ****下降********* @(Html.Kendo().DropDownListFor(m => m.SelectedViewState) .OptionLabel("-
@(Html.Kendo().DropDownListFor(m => m.SelectedViewState)
.OptionLabel("--Select--")
.DataSource(source => source
.Read(read => read.Action("LoadViewState", "CommandForm")).ServerFiltering(true))
.Events(e => e.Change("onViewStateChange"))
.DataTextField("Name")
.DataValueField("ViewStateId")
.Deferred()
.HtmlAttributes(new { style = "width: 180px" }))
****多选*******
@(Html.Kendo().MultiSelectFor(model => model.Payer)
.AutoBind(true)
.Deferred()
.DataTextField("Name")
.DataValueField("Id")
.Placeholder("Select Payers...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("LoadPayerMultiSelect", "CommandForm");
})
.ServerFiltering(true);
})
.ItemTemplate("<dl>" +
"<dd class='first-item'>${ data.Name }</dd>" +
"<dd> ${ data.Code }</dd>" +
"</dl>")
.HtmlAttributes(new { style = "width:95%;height:26px;overflow: auto;position:relative;" })
)
请帮助我解决这个问题
提前谢谢
function onViewStateChange(e) {
var value = $("#SelectedViewState").val();
var dropDown = e.sender;
var query = new kendo.data.Query(e.sender.dataSource.data());
var data = query.filter({ field: "ViewStateId", operator: "eq", value: value }).data;
if (data != undefined && data.length!=0) {
var setting = data[0].Setting;
var model = JSON.parse(setting).ViewStates;
var payerListData = '[' + model.Payer + ']';//data in model.Payer "{"Id":"40eb0d8c-6021-403c-92b0-efdc4865ef7c","Name":"(HOSPICE) ANDROSCOGGIN12"}"
var payerLists = JSON.parse(payerListData);
var payerSelect = $('#Payer').data('kendoMultiSelect');
var payerGuidArray = [];
$.each(payerLists, function (index, objValue) {
payerGuidArray.push(objValue.Id);
});
payerSelect.dataSource.data(payerLists);
payerSelect.value(payerGuidArray);
}
}