Удаление элемента из выпадающего списка на основе элемента, выбранного в другом выпадающем списке в ASP MVC
Привет, я новичок в этом деле. asp.net mvc, могу ли я знать, как я могу проверить , существует ли значение выпадающего списка в предыдущем выпадающем списке, если существует, то удалите значение, если нет, то значение останется в выпадающем списке.
Например: у меня есть сыр , шоколад , клубника в выпадающем списке , затем я выбираю сыр , поэтому я хотел бы, чтобы сыр был удален из следующего выпадающего списка. Выпадающий список, который я использую, - это кендо. Спасибо.
Код ниже в поле зрения
<select class="form-control " name="Choice[@ViewBag.CakeIndex].Category"> @foreach (var flavor in ViewBag.Flavour) { <option value="@flavor.id">@flavor.name</option> } </select>
Что я уже пробовал:
Я пробовал использовать
cakes.Items.Remove(flavor);
но я не уверен, какую переменную я должен использовать, чтобы удалить ее
Suvendu Shekhar Giri
Вы можете сделать следующее, чтобы найти соответствующий элемент-
yourDropdown.Items.FindByValue("ValueToFind") //pass the selected value here
Member 12852998
Могу ли я узнать, куда мне следует поместить этот код ?
Suvendu Shekhar Giri
непосредственно перед строкой, где вы написали код для удаления элемента
F-ES Sitecore
Что означает "предыдущий выпадающий список"? Это выпадающий список на предыдущей странице? На той же странице? Вы хотите сделать это с помощью javascript или при отправке формы? Вы просто хотите, чтобы опция была удалена из выпадающего списка или вы хотите, чтобы она была удалена из ViewBag, из которого выпадающий список получает свои данные?
Вы не дали достаточно объяснений того, что вы хотите сделать, чтобы кто-то дал ответ.
Member 12852998
В настоящее время у меня есть кнопка addcake , которая позволяет пользователю выбрать более одного торта , поэтому , когда пользователь нажимает на кнопку addcake , он заполняет другую форму , которая точно такая же, как и по умолчанию, у обоих есть выпадающий список, который заполняет одни и те же данные, но я бы хотел, чтобы если кто-то из них выберет значение, то оно не будет отображаться в другом выпадающем списке.
И javascript, и отправка формы будут в порядке , если это будет работать
Удалено из выпадающего списка
John C Rayan
Вы имеете в виду каскадные выпадающие списки на одной странице?
Member 12852998
да, но они разделены в разных представлениях, что означает, что они находятся на одной странице, но в mvc они разделены
Er. Puneet Goel
использовать jQuery...Дай мне знать, если тебе понадобится помощь.
Member 12852998
Привет, не могли бы вы мне помочь ? Я пробовал много примеров в интернете, но все еще не могу работать
Er. Puneet Goel
Пожалуйста, опубликуйте то, что вы пробовали с вашим html
Member 12852998
$(функция () {
$('select'). on ('change', функция () {
$("#row option: selected"). удалить();
});
});
и
$$('select'). each (функция (элемент) {
Событие.наблюдать(пункт 'Изменить', функция (е) {
ВАР Эл = Эл.srcElement;
ВАР вал = Эл.варианты[Эл.свойства selectedIndex].innerHTML будет;
$$('select'). each (функция (элемент) {
if (item != el) {
for (var i = 0; i & lt; item.options.длина; i++) {
if (item. options[i]. innerHTML == val) {
товар.метода removechild(пункт.варианты[я]);
}
}
}
});
});
});
Er. Puneet Goel
Пожалуйста, опубликуйте свой html-код также, чтобы мы могли получить вашу структуру, чтобы предоставить вам лучшее решение.
Я надеюсь, что вы решите эту проблему. Идея заключается в том, чтобы при изменении 1-го выпадающего списка получить выбранное значение. Теперь пройдите через 2-й выпадающий список, чтобы увидеть, выходит ли элемент с тем же значением или нет. Если да, то уберите это.
Member 12852998
List<cake> Cake = ViewBag.Cakes; <label>Cakes</label> <select class="form-control required" id="row" name="cakes"> <option value="">Choose Cake</option> @foreach (Cake cakever in Cakes) { <option value="@cakever.id">@cakever.name</option> } </select>