Kendo ui 剑道MVC级联特性适用于其中一个,但不适用于另一个。Javascript不启动
我正在MVC应用程序中实现剑道组合框级联特性。我有一个父母组合框称为销售组织,两个孩子组合框分别称为销售办公室和服务客户经理。级联功能仅适用于服务帐户管理器组合框。不知道问题出在哪里。我正在尝试使用从父组合框控件销售组织传递的国家/地区代码字段筛选销售办事处。两个子控件各自的控制器方法都被调用,但在第二个子控制器上,javascript函数GetFilterOption1()被触发。我不知道第一个函数GetFilterOption()没有被触发的原因是什么。我已经检查了开发工具,没有发现任何错误。如果我对$('#CountryCode').val()发出警报,我会得到值。函数本身没有启动 销售组织(父组合框)Kendo ui 剑道MVC级联特性适用于其中一个,但不适用于另一个。Javascript不启动,kendo-ui,asp.net-mvc-5,kendo-asp.net-mvc,kendo-combobox,Kendo Ui,Asp.net Mvc 5,Kendo Asp.net Mvc,Kendo Combobox,我正在MVC应用程序中实现剑道组合框级联特性。我有一个父母组合框称为销售组织,两个孩子组合框分别称为销售办公室和服务客户经理。级联功能仅适用于服务帐户管理器组合框。不知道问题出在哪里。我正在尝试使用从父组合框控件销售组织传递的国家/地区代码字段筛选销售办事处。两个子控件各自的控制器方法都被调用,但在第二个子控制器上,javascript函数GetFilterOption1()被触发。我不知道第一个函数GetFilterOption()没有被触发的原因是什么。我已经检查了开发工具,没有发现任何错误
仔细检查所有内容……我刚刚将代码粘贴到测试项目视图中,为每个组合框实现了模拟读取操作,当我在第一个组合框中进行选择时,两个javascript函数都会启动。我没有以任何方式修改你的代码。只是更改了过滤器的名称对我很有效。很奇怪
<div class="form-group">
@Html.LabelFor(model => model.Company, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
<div class="editor-field">
@(Html.Kendo().ComboBoxFor(model => model.CountryCode)
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("CompanyCodeCompany")
.DataValueField("CountryCode")
.Filter("contains")
.MinLength(3)
.DataSource(dataSource => dataSource
.Read(read => read.Action("RequestHeader_SalesOrganisation", "Request").Type(HttpVerbs.Post))
.ServerFiltering(true)
)
)
</div>
@Html.ValidationMessageFor(model => model.Company, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.SalesOffice, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
<div class="editor-field">
@(Html.Kendo().ComboBoxFor(model => model.SalesOfficeID)
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("SalesOffice")
.DataValueField("SalesOfficeID")
.AutoBind(false)
.Value("")
.DataSource(dataSource => dataSource
.Read(read =>
{
read.Action("RequestHeader_SalesOffice", "Request")
.Type(HttpVerbs.Post)
.Data("GetFilterOption");
}).ServerFiltering(true)
).CascadeFrom("CountryCode").Filter("contains")
)
</div>
@Html.ValidationMessageFor(model => model.SalesOffice, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.NameOfResponsiblePerson, htmlAttributes: new { @class = "control-label col-md-5" })
<div class="col-md-7 col-md-pull-1">
@(Html.Kendo().ComboBoxFor(model => model.PersonResponsibleMasterDataId)
// .Name("Sam")
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("NameOfResponsiblePerson")
.DataValueField("PersonResponsibleMasterDataId")
.DataSource(dataSource => dataSource
.Read(read =>
{
read.Action("RequestHeader_PersonResponsibleMasterData", "Request")
.Type(HttpVerbs.Post)
.Data("GetFilterOption1");
}).ServerFiltering(true)
).CascadeFrom("CountryCode").Filter("contains")
)
</div>
</div>
function GetFilterOption() {
return { id: $('#CountryCode').val() }
}
function GetFilterOption1() {
return { id: $('[name = "CountryCode"]').data("kendoComboBox").text().split('-')[0] }
}