Вы можете удалить существующие параметры, используя empty
метод, а затем добавить новые параметры:
var option = $('<option></option>').attr("value", "option value").text("Text");
$("#selectId").empty().append(option);
Если у вас есть новые параметры в объекте, вы можете:
var newOptions = {"Option 1": "value1",
"Option 2": "value2",
"Option 3": "value3"
};
var $el = $("#selectId");
$el.empty(); // remove old options
$.each(newOptions, function(key,value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
Изменить: Для удаления всех параметров, кроме первого, вы можете использовать :gt
селектор, чтобы получить все option
элементы с индексом больше нуля и remove
их:
$('#selectId option:gt(0)').remove(); // remove all options, but not the first
$('#selectId').selectpicker('refresh'); $('#selectId').selectpicker('render');
. В противном случае новые параметры не будут отображаться в вашем списке выбора.$el.append($('<option/>', { value: value, text: key }));
Я бросил отличный ответ CMS в быстрое расширение jQuery:
Он ожидает массив объектов, которые содержат ключи «текст» и «значение». Таким образом, использование выглядит следующим образом:
источник
где comboBx - ваш идентификатор поля со списком.
или вы можете добавить опции в виде строки к уже существующему innerHTML, а затем назначить их select innerHTML.
редактировать
Если вам нужно сохранить первый вариант и удалить все остальные, вы можете использовать
источник
По какой-то странной причине эта часть
от CMS решение не работает для меня, так что вместо этого я просто использовал это
И это работает. Итак, мой рабочий код теперь выглядит так:
источник
Удаление и добавление элемента DOM выполняется медленнее, чем изменение существующего.
Если ваши наборы параметров имеют одинаковую длину, вы можете сделать что-то вроде этого:
Если ваш новый набор параметров имеет другую длину, вы можете удалить / добавить пустые параметры, которые вам действительно нужны, с помощью некоторой техники, описанной выше.
источник
Если, например, ваш HTML-код содержит этот код:
Для того, чтобы изменить список параметров внутри вашего выбора, вы можете использовать этот код ниже. когда ваше имя выберите названный selectId .
в приведенном выше примере я меняю старый список параметров только одним новым параметром.
источник
Это помогает?
источник
Старая школа делания вещей вручную всегда была полезна для меня.
Уберите выделение и оставьте первый вариант:
Если ваши данные поступают из Json или чего-либо еще (просто Concat данных):
Мой Json Objetc:
Это решение идеально подходит для работы с Ajax и отвечает на вопросы Json из базы данных.
источник
если мы обновляем
<select>
постоянно и нам нужно сохранить предыдущее значение:источник