J'ai un <select>
list, qui a été remplie de plusieurs options, mais qui souhaite supprimer ces options pour recommencer.
J'utilise jQuery et j'ai essayé ce qui suit:
$("#selectId").length = 0;
Mais cela semble n'avoir aucun effet.
Une partie de mon problème est que j'utilise Firebug pour déboguer le JavaScript, mais le débogueur ne s'arrête pas au point d'arrêt, donc je ne peux pas voir ce qui se passe. Devrait-il se casser lorsque le JavaScript est dans le <head>
de mon fichier HTML?
cela ferait:
$('#selectId').html('');
Juste $("#selectId option").remove();
fonctionne aussi.
$("#selectId").empty();
fonctionne pour moi.
La $("#selectId option").remove();
a supprimé la sélection du DOM.
Actuellement, jQuery JavaScript Library v1.7.1
Le moyen le plus rapide d'y parvenir:
$("#selectId").empty();
Voici quelques tests: http://jsperf.com/find-remove-vs-empty
Je ne prends aucun crédit pour ces tests. Voir cette question de débordement de pile: Comment supprimer toutes les options d'une boîte de sélection, puis ajouter une option et la sélectionner avec jQuery?
Si sans jquery:
$("#selectId").options.length = 0;
Cela ne fonctionnera pas réellement comme écrit, car il utilise un sélecteur jQuery. Cela fonctionnerait si vous utilisiez un getElementById DOM direct dans la liste de sélection. Les réponses d'AKX ou de d. Vous mettront sur la bonne voie.
Essayez ceci pour la liste déroulante de sélection multiple.
$ ('# FeatureId'). Multiselect ("deselectAll", false) .multiselect ("refresh");