我正在将Kendo下拉列表从现有代码转换为Kendo multiselect。
角色代码:当前为Dropdownlist(转换为Kendo multiselect)。
我没有得到正确的输出。
我有以下代码:
<div class="col-md-4 form-group">
@Html.LabelFor(model => model.RoleCode, htmlAttributes: new { }) <span style="color: Red">*</span>
<select id="DDRolecode" multiple="multiple" data-placeholder="Select attendees...">
</select>
</div>
...
...
var url = '@Url.Action("GetRoleCode", "FlowGenerator")';
url = url + '?FlowID=' + flowid + '&RegID=' + RegId;
$.ajax({
url: url,
dataType: 'json',
type: 'POST',
success: function (result) {
debugger;
//$("#DDRolecode").kendoDropDownList({
// dataTextField: "Name",
// dataValueField: "ID",
// optionLabel: "Select",
// dataSource: result
//});
$("#DDRolecode").kendoMultiSelect({
dataTextField: "Name",
dataValueField: "ID",
dataSource: result,
});
var selectedData = [];
for (var i = 0; i < result.length; i++) {
selectedData.push({
text: result[i].Name,
value: result[i].ID
})
}
DDRoleCode.dataSource.data(selectedData);
//DDRoleCode.setDataSource(selectedData);
DDRoleCode.value('');
DDRoleCode.enable(true);
},
error: function (data) {
debugger;
var itemRow = "<ul id='listError'><li>" + "Data Not Bind" + "</li></ul>";
FUNMessageBox(itemRow, "E", 0, 0, "", "");
// alert("error");
}
});
下面是获取角色代码的控制器代码:
public JsonResult GetRoleCode(int FlowID,int RegID)
{
IEnumerable<GenericValues1> RoleCode = _repository.Context.Database.SqlQuery<GenericValues1>("PROC_GET_ROLECODE @DATA_FLOW_ID={0},@REG_ID={1}", FlowID, RegID).ToList().AsQueryable();
// ViewBag.Tariffs = RoleCode;
return Json(RoleCode, JsonRequestBehavior.AllowGet);
}
如您所见,我尝试在上面的代码中使用多选功能。但这没有用。
下面的代码为我工作:
$(document).ready(function () {
debugger;
$("#DDRolecode").kendoMultiSelect({
dataTextField: "Name",
dataValueField: "ID",
});
....
....
//go to controller and call Sp and get the result
success: function (result) {
debugger;
var multiSelect = $('#DDRolecode').data("kendoMultiSelect");
multiSelect.value([]);
$("#DDRolecode").data("kendoMultiSelect").setDataSource(new kendo.data.DataSource({ data: result }));
var selectedData = [];
for (var i = 0; i < result.length; i++) {
selectedData.push({
Text: result[i].Name,
Value: result[i].ID
})
}
我有一种情况,我有两个多选择剑道下拉列表,在第一个多选择下拉列表的选择上,我想填充另一个多选择下拉列表。 第一个多选剑道DD: 第2次MultiSelect剑道DD: JS代码: 我所尝试的: 我试图在函数onFirstDropDownChange中调用AJAX,但由于数据源没有绑定到第二个下拉列表,所以这不起作用。 限制条件: 首先,我不想在两个下拉列表中加载数据 第二个下拉列表的值取决于第一个
我正在使用剑道下拉列表,我需要一个占位符的下拉列表,当我选择下拉列表时,它不应该出现在列表中。我尝试使用optionLabel,但此值显示在列表中。 我需要一个解决方案,我可以添加一个占位符,该值不应显示为下拉列表中的选项。
如何在更改函数上选择剑道下拉列表值。剑道下拉列表在网格中。在更改函数中,我想选择列表中的第一项。 我已经编写了代码: 但是下拉列表没有选择更改功能。我该怎么做请帮帮我。
我想把剑道下拉列表加入我的表格。一切都会好的,除了一件事。当我想用默认的剑道创建工具栏“添加记录”时,我不能绑定从dropdownlist数据源获取的第一个值。 数据源工作正常。DropDownlist也很好用。如果我手动从dropDownlist中选择任何东西,一切正常。 我也试过了。除了“索引”之外,我试图手动从数据源中选择第一项。从视觉上看,它工作得很好。即使选择了第三项,但当我单击“更新”
我在JSFIDLE示例中有以下代码 问题是,当用户单击“添加新记录”时,它会添加一个新项目,其中设施名称下拉列表显示列表中的第一个项目。如果用户单击“更新”,则会保存记录,但会将设施名称清空。原因是,下拉列表中确实没有选定项目。我之所以知道这一点,是因为所选值在传递给控制器代码时为空。所以,我真的很想知道如何 不显示列表中的第一个项目,直到用户在列表中实际选择它或 将选定的项目设置为列表中的第一个
在我的剑道网格中,我为每一列都有kenddropDownlist。选定的项目应解析并显示模板文本 我一直在遵循这个例子http://jsfiddle.net/jddevight/Ms3nn/ 使现代化 我在这里简化了我的问题http://jsfiddle.net/BlowMan/mf434/ 问题 当我在下拉列表中选择一个项目时,它不会返回所选项目的值。它返回null。 }); 下面的视图部分 任