使用jQuery更新剑道下拉列表值会导致未定义的元素和空字符串值
我的MVC视图中有三个剑道下拉列表。它们的值设置为已定义的枚举。下拉列表正确显示值,如果我单独选择每个值,我可以更改/更新。但是,我有一个按钮,用于将所有3个dropdownlists值更新为“all”调用“setToAll”,它调用一个jQuery函数,该函数通过名称(id)为每个dropdownlists设置值 以下是我的列举:使用jQuery更新剑道下拉列表值会导致未定义的元素和空字符串值,jquery,kendo-ui,kendo-asp.net-mvc,kendo-dropdown,Jquery,Kendo Ui,Kendo Asp.net Mvc,Kendo Dropdown,我的MVC视图中有三个剑道下拉列表。它们的值设置为已定义的枚举。下拉列表正确显示值,如果我单独选择每个值,我可以更改/更新。但是,我有一个按钮,用于将所有3个dropdownlists值更新为“all”调用“setToAll”,它调用一个jQuery函数,该函数通过名称(id)为每个dropdownlists设置值 以下是我的列举: public enum FilterEmailSignOffStatus { All = -1, N
public enum FilterEmailSignOffStatus
{
All = -1,
NotSent = 0,
Sent = 1
}
public enum FilterPdfSignOffStatus
{
All = -1,
NotYetPrinted = 0,
Printed = 1
}
public enum FilterCorrectionStatus
{
All = -1,
NotCorrected = 0,
Corrected = 1,
Reprinted = 2
}
以下是我的看法:
<div class="col-md-3 ">
@(Html.Kendo().DropDownList()
.Name("printStatus")
.DataValueField("Text")
.BindTo(Enum.GetNames(typeof(SignOffSheetController.FilterPdfSignOffStatus)).ToList())
)
</div>
<div class="col-md-3 ">
@(Html.Kendo().DropDownList()
.Name("correctionStatus")
.DataValueField("Text")
.BindTo(Enum.GetNames(typeof(SignOffSheetController.FilterCorrectionStatus)).ToList())
)
</div>
<div class="col-md-3 ">
@(Html.Kendo().DropDownList()
.Name("emailStatus")
.DataValueField("Text")
.BindTo(Enum.GetNames(typeof(SignOffSheetController.FilterEmailSignOffStatus)).ToList())
)
</div>
<div class="col-md-3 ">
<button id="setAllStatus" class="btn btn-default">Set to All</button>
</div>
下拉列表应全部更新为“all”值,但它们会更新为
”
空字符串。有谁能帮我一个忙,告诉我哪里出了问题吗?设法把按钮修好并让它工作起来。我删除了每个dropdownLists上的.DataValueField(“Text”)属性,它们现在都在正确更新
奇怪的是,在剑道的前一个版本中,这一点也适用。在我们更新到新版本(2018.2.516)后,出现了这个问题。我的想法是,DropDownLists更新为“All”,但随后尝试获取.DataValueField并失败,从而变得未定义“”
我也有升级的问题。美好的
$("#setAllStatus").click(function (e) {
e.preventDefault();
$("#printStatus").data("kendoDropDownList").value("All");
$("#correctionStatus").kendoDropDownList().data("kendoDropDownList").value("All");
$("#emailStatus").kendoDropDownList().data("kendoDropDownList").value("All");
});
@(Html.Kendo().DropDownList()
.Name("printStatus")
//.DataValueField("Text") --- **Removed this parameter**
.BindTo(Enum.GetNames(typeof(SignOffSheetController.FilterPdfSignOffStatus)).ToList())
)