Список выбора jQuery удаляет все параметры - PullRequest
31 голосов
/ 09 июля 2009

У меня есть список <select>, в котором есть несколько параметров, но я хочу удалить эти параметры, чтобы начать снова.

Я использую jQuery и попробовал следующее:

$("#selectId").length = 0;

Но это, похоже, не имеет никакого эффекта.

Часть моей проблемы в том, что я использую Firebug для отладки JavaScript, но отладчик не прерывается на точке останова, поэтому я не вижу, что происходит. Должен ли он сломаться, когда JavaScript находится в пределах <head> моего HTML-файла?

Ответы [ 7 ]

49 голосов
/ 09 июля 2009

это будет делать:

$('#selectId').html('');
28 голосов
/ 09 июля 2009

Просто $("#selectId option").remove(); тоже работает.

11 голосов
/ 08 апреля 2012

$("#selectId").empty(); у меня работает.

$("#selectId option").remove(); убрал выбор из DOM.

В настоящее время используется библиотека JavaScript jQuery v1.7.1

6 голосов
/ 08 декабря 2015

Самый быстрый способ сделать это:

$("#selectId").empty();

Вот несколько тестов: http://jsperf.com/find-remove-vs-empty

Я не принимаю кредит на эти тесты. Посмотрите на этот вопрос переполнения стека: Как удалить все опции из поля выбора, а затем добавить один вариант и выбрать его с помощью jQuery?

1 голос
/ 09 июля 2009
$("#selectId").options.length = 0;

Это на самом деле не будет работать так, как написано, потому что он использует селектор jQuery. Это сработало бы, если бы вы использовали прямой DOM getElementById в списке выбора. Ответы AKX или d. Сделают вас правильными.

1 голос
/ 09 июля 2009
0 голосов
/ 05 октября 2018

Попробуйте это для множественного выбора выпадающего списка.

$ ('# FeatureId'). Multiselect ("deselectAll", false) .multiselect ("refresh");

...