EDIT: Merci tout le monde, mais rien ne semble fonctionner. J'insère ce code dans un fichier que je connais est utilisé et contient d'autres blocs JavaScript normalement formatés, et cela ne fonctionne toujours pas. Cela fonctionne dans un violon, mais pas sur mon code. Je suppose que cela est trop spécifique à la plate-forme et à l'extension que j'essaie de modifier (cela fait partie d'une étape de paiement Magento modifiée par une vulgarisation tierce). Je vais commencer à regarder en remplaçant la liste avec une génération manuelle. Merci encore.
J'essaie de masquer une option dans une liste déroulante générée de manière dinamique. La solution CSS ne fonctionne pas sur tous les navigateurs, et même si j'ai trouvé plusieurs questions similaires, ni l'une ni l'autre des offres qui fonctionne pour moi. P>
Voici ce que ma liste rend comme: p> J'ai besoin de masquer l'option avec la valeur "12" par exemple.
J'utilise ce JS: P> $("#timeselect option[value='12']").remove();
4 Réponses :
jQuery supprimer par la valeur jQuery supprimer par texte p> ou p> jQuery code> pour masquer une boîte de sélection Option avec sa valeur à l'aide de CSS P>
@Palmerdelcampo: Cela répond-il à votre question mec?
masquer () code> fonctionne parfaitement pour moi. n'a pas essayé d'autres options cependant
Utilisez la fonction Vous pouvez utiliser masquer () code> de jQuery: jsfiddle p>
show () code> pour le récupérer p>
Vous pouvez utiliser la fonction jQuery Supprimer (). Si vous souhaitez le supprimer de manière permanente de DOM, ou si vous souhaitez supprimer et réinsérer, utilisez le détachement () ou détacher p> Et réinsérez-le en utilisant p> http: // jsbin.com/ihiraqe/5/edit p> Voir l'exemple p> Un autre moyen est de désactiver la valeur afin que l'utilisateur puisse voir mais ne peut pas sélectionner p> < Pré> xxx pré> p>
J'ai essayé de nombreuses manières différentes, mais cette solution semble être compatible avec un navigateur raisonnable et croisée et que j'ai utilisé dans mon code. Aucun plugins requis Fonction de registre simple avec l'objet JQuery
Solution à Glance: P>
(function ($) {
$('#showOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', true);
});
$('#hideOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', false);
});
$.fn.showHideDropdownOptions = function(value, canShowOption) {
$(this).find('option[value="' + value + '"]').map(function () {
return $(this).parent('span').length === 0 ? this : null;
}).wrap('<span>').hide();
if (canShowOption)
$(this).find('option[value="' + value + '"]').unwrap().show();
else
$(this).find('option[value="' + value + '"]').hide();
}
})(jQuery);
Essayez d'utiliser
$ ("# Timeselect option [valeur = '12 ']"). Masquer () Code>. Pour une lecture ultérieure: Stackoverflow.com/Questtions/11071562/Remove-Option- Dans-Select.Remove () est la bonne fonction que vous utilisez ... Quel est le problème. Vous voulez juste vous cacher de ne pas supprimer ???
Notez que $ indique JQuery, vous devez donc inclure cela avant votre script.
@ Mauverickosama92 Je peux faire avec la peau ou la suppression, j'en ai juste besoin pour être impossible à sélectionner via une méthode possible, mais de toute façon rien ne se passe, l'option est toujours là.
Ensuite, vous manquez probablement quelque chose ... Peut-être que la jQuery incluait comme des gens disaient ici. Veuillez télécharger votre code sur jsfiddle.net afin que nous puissions jeter un coup d'oeil
merci @jensneubauer, c'est ce que j'utilise: $ ("# déliéelle option [valeur = '12 ']"). Masquer (); script> code>
@Palmerdelcampo: Mettez