我有一种情况,我有两个多选择剑道下拉列表,在第一个多选择下拉列表的选择上,我想填充另一个多选择下拉列表。
第一个多选剑道DD:
@(Html.Kendo().MultiSelect()
.Name("FirstDropDown").Placeholder("-- Select --")
.BindTo(new SelectList(Model.BusinessData, "Id", "Name"))
.Enable(true)
.AutoBind(false).Events(e => e.Change("onFirstDropDownChange"))
.HtmlAttributes(new { style = "width: 300px" })
)
第2次MultiSelect剑道DD:
@(Html.Kendo().MultiSelect()
.Name("project")
.Placeholder("-- Select --")
.DataTextField("ProjectName")
.DataValueField("Id")
.Filter(FilterType.Contains)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetProjectByBu", "Reports").Data("filterProjects");
})
.ServerFiltering(true);
})
.Enable(true)
.AutoBind(false).Events(e => e.Change("onProjectChange"))
.HtmlAttributes(new { style = "width: 300px" })
)
JS代码:
function filterProjects() {
return {
buID: $("#FirstDropDown").data("kendoMultiSelect").input.val()
};
}
我所尝试的:
我试图在函数onFirstDropDownChange中调用AJAX,但由于数据源没有绑定到第二个下拉列表,所以这不起作用。
限制条件:
我想做的是:
当我在第一个多选下拉列表中选择任何值时,我的第二个多选下拉列表将根据在第一个下拉列表中选择的值填充。
我已经使用AJAX调用解决了这个问题,下面是详细的步骤:
FirstDropDown
上附加了一个JavaScript函数onFirstDropDownChange
var multiselect=$(“#FirstDropDown”)。数据(“kendoMultiSelect”);
var i; var stringArray = new Array();
for (i = 0; i < multiselect.dataItems().length; i++)
{
stringArray[i] = parseInt(multiselect.dataItems()[i].Value,32);
}
var postedData = { businessIds: stringArray };
var projectDataSource;
jQuery.ajaxSettings.traditional = true;
//AJAX Call
$.ajax({
url: '/Reports/GetProjectByBu',
dataType: 'json',
data: postedData,
type: "GET",
contentType: 'application/json; charset=utf-8',
async: false,
traditional: true,
success: function (data) {
projectDataSource = data;
}
});
//Update DataSource of 2nd dropdown
$("#project").data("kendoMultiSelect").setDataSource(new kendo.data.DataSource({ data: projectDataSource }));
希望这将帮助你,如果你正在试图寻找类似的解决方案。
问题内容: 我正在将Kendo下拉列表从现有代码转换为Kendo multiselect。 角色代码:当前为Dropdownlist(转换为Kendo multiselect)。 我没有得到正确的输出。 我有以下代码: 下面是获取角色代码的控制器代码: 如您所见,我尝试在上面的代码中使用多选功能。但这没有用。 问题答案: 下面的代码为我工作:
我在JSFIDLE示例中有以下代码 问题是,当用户单击“添加新记录”时,它会添加一个新项目,其中设施名称下拉列表显示列表中的第一个项目。如果用户单击“更新”,则会保存记录,但会将设施名称清空。原因是,下拉列表中确实没有选定项目。我之所以知道这一点,是因为所选值在传递给控制器代码时为空。所以,我真的很想知道如何 不显示列表中的第一个项目,直到用户在列表中实际选择它或 将选定的项目设置为列表中的第一个
在我的剑道网格中,我为每一列都有kenddropDownlist。选定的项目应解析并显示模板文本 我一直在遵循这个例子http://jsfiddle.net/jddevight/Ms3nn/ 使现代化 我在这里简化了我的问题http://jsfiddle.net/BlowMan/mf434/ 问题 当我在下拉列表中选择一个项目时,它不会返回所选项目的值。它返回null。 }); 下面的视图部分 任
如何在更改函数上选择剑道下拉列表值。剑道下拉列表在网格中。在更改函数中,我想选择列表中的第一项。 我已经编写了代码: 但是下拉列表没有选择更改功能。我该怎么做请帮帮我。
我有一张有多个剑道下拉列表的表格。。 有了选项标签,它显示了空白选择,但是当您打开DROPPDROW列表时,它会出现任何选择“空白区”的选项。在选择了一些下拉列表的值后,我无法返回。 我知道如果我在下拉列表中放入一些文本,选项标签就会出现在下拉列表中(css与其他文本不同)。但我想保留空白。 其他解决方案是在服务器端的第一个位置添加一个记录,但我想知道是否有人有不同的解决方案。谢啦
我正在使用剑道下拉列表,我需要一个占位符的下拉列表,当我选择下拉列表时,它不应该出现在列表中。我尝试使用optionLabel,但此值显示在列表中。 我需要一个解决方案,我可以添加一个占位符,该值不应显示为下拉列表中的选项。