Обновление значений раскрывающегося списка Kendo с помощью jQuery приводит к появлению неопределенных элементов и пустых строковых значений
У меня есть три раскрывающихся списка кендо в моем представлении MVC. Их значения установлены в определенные Enums. Раскрывающиеся списки правильно отображают значения, и я могу изменить / обновить, если я выберу каждое из них по отдельности. Тем не менее, у меня есть кнопка, которая используется для обновления всех трех значений раскрывающихся списков до "All", вызывая setToAll, которая вызывает функцию jQuery, которая устанавливает значение для каждого раскрывающегося списка по имени (id)
Это мои перечисления:
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>
Вот моя функция jQuery:
$("#setAllStatus").click(function (e) {
e.preventDefault();
$("#printStatus").data("kendoDropDownList").value("All");
$("#correctionStatus").kendoDropDownList().data("kendoDropDownList").value("All");
$("#emailStatus").kendoDropDownList().data("kendoDropDownList").value("All");
});
Все выпадающие списки должны быть обновлены до значения "Все", но вместо этого они обновлены до ""
пустые строки. Кто-нибудь может подать глаз и посоветовать мне, где я могу пойти не так?
1 ответ
Успел починить и заставить кнопку работать. Я удалил свойства.DataValueField("Text") в каждом из раскрывающихся списков, все они теперь корректно обновляются.
Странная вещь, это раньше работало в предыдущей версии Kendo. После обновления до более новой версии (2018.2.516) возникла эта проблема. Я думаю, что DropDownLists обновляются с "Все", но затем пытаются получить.DataValueField и потерпеть неудачу, таким образом становясь неопределенным ""
@(Html.Kendo().DropDownList()
.Name("printStatus")
//.DataValueField("Text") --- **Removed this parameter**
.BindTo(Enum.GetNames(typeof(SignOffSheetController.FilterPdfSignOffStatus)).ToList())
)