#javascript #kendo-ui #kendo-combobox
#javascript #kendo-ui #kendo-выпадающий список
Вопрос:
Я использую Kendo UI для реализации нескольких выпадающих списков на моей странице. Второй выпадающий список зависит от значения первого для заполнения, но я не хочу использовать опцию «Каскад», поскольку второй выпадающий список никогда не должен быть отключен.
Моя проблема заключается в следующем:
при изменении выпадающего списка A в выпадающем списке B должны быть указаны соответствующие значения, но само поле должно быть чистым. Я очищаю текст и значение выпадающего списка B, но когда я запускаю чтение источника данных или что-то еще, выпадающий список заполняется старым текстом.
Подразделом является выпадающий список B:
var subentity = $('#subentity').getKendoComboBox();
$("#subentity").val(null);
subentity.value(null);
subentity.dataSource.data({});
subentity.text('');
Я попробовал несколько вариантов и переместил туда, где значения очищены, и, похоже, не могу заставить его работать.
Есть идеи? Спасибо!
РЕДАКТИРОВАТЬ: Выпадающий список B (subentity) инициализируется следующим образом:
$("#subentity").kendoComboBox({
placeholder: "--- Enter a Sub-Entity ---",
autoBind: false,
animation: false,
dataSource: {
type: "json",
serverFiltering: true,
transport: {
read: {
url: ResolveUrl('~/Entity/GetSubentities')
},
parameterMap: function () {
return {
entityId: $('#hdnEntityId').val(),
subentityName: $("#subentity").data("kendoComboBox").text()
}
}
}
},
dataTextField: "Name",
dataValueField: "Id",
delay: 500,
change: onChangeOfSubentityCombo,
filter: "contains",
suggest: true,
value: $('#hdnSubentityName').val()
});
Комментарии:
1. Не могли бы вы создать полностью рабочий пример в jsFiddle или JSBin или что-то в этом роде? Неясно, где вы получаете новые значения для выпадающего списка B при изменении выпадающего списка A и где вы выполняете DataSource.read()
2. @CodingWithSpike Может быть сложно создать скрипку, поскольку я извлекаю информацию из базы данных через контроллер MVC. Я обновил свой вопрос с помощью subentity datasource, который, я надеюсь, несколько поможет.
Ответ №1:
Я думаю, что ваше значение заменяется этой строкой.
value: $('#hdnSubentityName').val()
измените его на
value:""
Это приведет к отображению вашего поля «— Введите дочернюю сущность —«, однако вы также можете установить заполнитель пустым.
placeholder: ""
Комментарии:
1. Несколько дней я работал над этим. Дней. Большое вам спасибо!