Ответ 1
var newOption = "<option value='"+"1"+"'>Some Text</option>";
$("#ddlCategory").append(newOption);
Я пытаюсь использовать следующий код, чтобы добавить параметр в раскрывающийся список в ASP.NET. Любые идеи, почему это не работает? Я попробовал Google, но не могу понять, почему это не сработает.
Что делает код? У меня есть раскрывающийся список ASP.NET. Я хочу получить доступ к выпадающему списку по имени и добавить элемент в список. Элемент должен иметь описательный текст "Some Text" и значение "123".
Спасибо!
$("#ddlCategory").append($("<option>Some Text</option>").val(1).html("123"));
var newOption = "<option value='"+"1"+"'>Some Text</option>";
$("#ddlCategory").append(newOption);
Вы можете попробовать
$("#ddlCategory").append($("<option value='123'>Some Text</option>");
Или
$('#ddlCategory').
append($("<option></option>").
attr("value", "123").
text("Some Text"));
2-й фрагмент кода из этого вопроса Каков наилучший способ добавить параметры к выбору из массива с помощью jQuery?
Вы тестировали, что 1) ваш jquery правильный и работает в плоском HTML файле и 2) что вы используете правильные идентификаторы Id-ASP.NET, динамически изменяя элементы, которые runat = "сервер", поэтому вы можете захотеть попробовать:
$('#<%=ddlCategory.ClientID%>').append(...etc etc
Это даст вам правильный идентификатор из класса страницы ASP.NET.
Что делать, если вы измените его на
$("#ddlCategory").append($("<option></option>").attr("value", "1").text("Some Text"));
Попытка добавления опций в раскрывающийся список ASP.Net с клиентским кодом - плохая идея. Он вводит всевозможные проблемы обратной передачи. Подробнее см. эту ссылку. Вы должны либо заполнить раскрывающуюся панель полностью на стороне клиента, либо вызвать частичную обратную передачу, чтобы заполнить список.