Как добавить опцию в выпадающий список с помощью jQuery? - PullRequest
16 голосов
/ 03 ноября 2011

Я пытаюсь использовать следующий код, чтобы добавить параметр в раскрывающийся список в ASP.NET. Есть идеи, почему это не работает? Я попробовал Google, но не могу понять, почему это не сработает.

Что должен делать код? У меня есть раскрывающийся список ASP.NET. Я хочу получить доступ к выпадающему списку по имени и добавить элемент в список. Элемент должен иметь описательный текст «Some Text» и значение «123».

Спасибо!

$("#ddlCategory").append($("<option>Some Text</option>").val(1).html("123"));

Ответы [ 5 ]

12 голосов
/ 03 ноября 2011
var newOption = "<option value='"+"1"+"'>Some Text</option>"; 
$("#ddlCategory").append(newOption);
9 голосов
/ 03 ноября 2011

Вы можете попробовать

$("#ddlCategory").append($("<option value='123'>Some Text</option>");

или

 $('#ddlCategory').
      append($("<option></option>").
      attr("value", "123").
      text("Some Text")); 

2-й фрагмент кода из этого вопроса Каков наилучший способ добавить параметры в выборку из массива с помощью jQuery?

0 голосов
/ 03 ноября 2011

Попытка добавить параметры в раскрывающийся список ASP.Net с помощью клиентского кода - плохая идея. Это вводит все виды проблем обратной передачи. Смотрите эту ссылку для более подробной информации. Вам следует либо заполнить раскрывающийся список полностью на стороне клиента, либо запустить частичный обратный вызов для заполнения списка.

0 голосов
/ 03 ноября 2011

Что если вы измените его на

$("#ddlCategory").append($("<option></option>").attr("value", "1").text("Some Text"));
0 голосов
/ 03 ноября 2011

Проверяли ли вы, что 1) ваш jquery корректен и работает в плоском HTML-файле и 2) что вы используете правильный Id - ASP.NET динамически изменяет Id для элементов, которые runat = "server", так что вы можете захотеть попробовать:

$('#<%=ddlCategory.ClientID%>').append(...etc etc

Это даст вам правильный идентификатор из класса страниц ASP.NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...