Cacher les Options d'un Select avec JQuery
Bien, nous allons commencer par un exemple.
Gardez à l'esprit, ce n'est qu'un exemple.
<select id = "selection1">
<option value = "1" id = "1">Number 1</option>
<option value = "2" id = "2">Number 2</option>
<option value = "3" id = "3">Number 3</option>
</select>
Maintenant à partir d'ici, nous avons une liste déroulante avec les 3 options.
Ce que je veux faire maintenant est de cacher une option.
Ajoutant style = "display:none"
sera pas aider.
L'option n'apparaît pas dans la dropdownlist, mais en utilisant les touches fléchées, vous pouvez toujours sélectionner.
Essentiellement, c'est exactement ce que le code dit. Il n'est pas affichée, et ça s'arrête là.
Une fonction JQuery de $("#1").hide()
ne fonctionnera pas.
De Plus, je n'ai pas seulement envie de cacher l'option, je veux le supprimer complètement.
Toute éventualité de le faire?
Dois-je utiliser mère/frère/éléments d'enfant? Si oui, je ne suis toujours pas sûr de savoir comment.
Toute aide serait grandement appréciée. Merci.
Une autre question - C'est lié
Ok, donc, j'ai découvert qu'il y est un .remove()
disponible en JQuery. Fonctionne bien.
Mais que faire si je veux le ramener?
si(condition)
{
$(this).remove();
}
Je peux boucles. Ne devrait pas être compliqué.
Mais la chose dont je suis en train de faire est ceci:
Capacité maximale de la Classe: (champ de Saisie ici)
Sélectionnez la Pièce: (liste Déroulante ici)
Ce que je voudrais pour elle de le faire est de mettre à jour se Déroulant à l'aide d'une fonction telle que .change()
ou .keyup
.
J'ai pu créer la liste déroulante seulement après que quelque chose est tapé. Lors d'une modification ou d'une keyup, exécutez la liste déroulante en conséquence.
Mais ce que je suis en train de faire est ceci:
$roomarray = mysql_query("SELECT *
DEPUIS
(
SELECT *,
CAS
QUAND le type = "salle de Classe" PUIS 1
QUAND le type = 'laboratoire d'Informatique", PUIS 2
LORSQUE type = "Salle de Conférence", PUIS 3
LORSQUE type = "Auditorium", PUIS 4
FIN tant QUE ClassTypeValue
chambres
) t
COMMANDE PAR ClassTypeValue, maxppl, roomID");
echo "<select id = \"room\">";
while ($rooms = mysql_fetch_array($roomarray))
{ ?>
<option value=<?php echo $rooms['roomID']; ?> id=<?php echo $rooms['roomID']; ?>><?php echo $rooms['type']; echo " "; echo $rooms['roomID']; echo " ("; echo $rooms['maxppl']; echo ")"; ?></option>
<?php
}
echo "</select>";
Oui, je sais que c'est très salissant.
J'ai l'intention de le changer plus tard.
Mais la question qui se pose maintenant est celle-ci: puis-je basculer le retrait des options en fonction de ce qui a été tapé?
Est-il possible de le faire avec une liste déroulante faite à partir d'une boucle? Parce que je suis sûr que l'enfer ne peut pas garder exécution de Requêtes SQL. Ou est-ce encore une option? Parce que si c'est possible, je pense toujours que c'est une mauvaise.
J'ai changé la réponse dans un plugin qui prennent en charge les désactiver (supprimer) et de l'activer (append) des options. J'espère que ça répond à votre question(s).
OriginalL'auteur Syed Abdul Rahman | 2011-01-15
Vous devez vous connecter pour publier un commentaire.
Le cacher() ne fonctionne pas pour Chrome... j'ai fait des expériences avec un travail autour de l'enveloppa d'un plugin que j'ai appelé "ExtraBox". L'idée est de stocker les options temporaire afin que nous puissions activer /désactiver en le manipulant le DOM. J'ai créé ce plugin pour le rendre plus facile à utiliser.
J'ai posté le code sur jsFiddle, de sorte que vous pouvez l'essayer pour vous-même: http://jsfiddle.net/KeesCBakker/HaFRC/. [note: le premier projet dans jsFiddle, j'adore!]
Exemple de code Html:
J'ai ajouté ce qui suit jQuery à mon document.prêt de la fonction:
Le plugin ressemble à ceci:
Désolé, mais votre code ressemble à un Indien =)
Hahahaha c'est vrai :-)... j'ai seulement montrer le chemin 😛 hahaha... la question est... où va nous conduire à 😛
La nouvelle réponse prend en charge désactiver / activer et maintient l'ordre de la liste des vivants.
Wow...C'est juste...wow. C'est un grand code. Fonctionne très bien. Je suis toujours à lire à travers elle, mais jusqu'à présent, c'est génial. Je pense que je peux le modifier à travailler pour mes besoins.
OriginalL'auteur Kees C. Bakker
Pourquoi êtes-vous de déconner avec les paramètres d'affichage si vous voulez simplement supprimer l'élément?
et de son parti.
OriginalL'auteur fearofawhackplanet
il est réellement possible de cacher un
<option>
nœud, mais pas de la croix-navigateur compatible.$("option")
. cela a été modifié pour une étiquette d'identité ou...?serait prendre toutes les
option
éléments. C'était juste à titre d'exemple. Vous n'auriez toujours nécessaire de rechercher un élément spécifique.Si je pouvais avoir un
function()
avec unif()
déclaration pour sélectionner les éléments spécifiques, suivi par un$(this)
. À partir de là, je pouvais utiliser le `attr('désactiver', true);?J'ai mis à jour ma réponse, vous pouvez simplement utiliser
.hide()
comme prévu.Ouais, avait une faute de frappe. Il ne fonctionnera pas. Le problème, c'est que c'est un HTML coder en dur. L'option ne s'affiche, même si ce n'est caché.
OriginalL'auteur jAndy
Je suppose, le sélecteur est mauvais. Essayez quelque chose comme ça (mis à jour):
Voir parent-enfant sélecteur (parent > l'enfant).
mon code fonctionne pour vous?
Pas de. De même que la réponse de jAndy, le
hide()
ne fonctionne pas pour mon<option>
. Il fait pour vous?j'ai créé un vide .fichier html et le coller mon code il - fonctionne parfaitement. peut-être que vous êtes en utilisant une étrange version de jq? ou l'un de vos code js est mal?
J'ai testé l'utilisation d'IE, Firefox et Opera. Il semble que le travail sur les FF. Mais même caché, il agit comme
style = "display:none"
. Vous ne pouvez pas le voir, mais vous pouvez toujours sélectionner.OriginalL'auteur shybovycha
J'ai mis à disposition un Plugin jQuery qui permet de résoudre ce très joliment. Avec elle, vous voulez faire cela:
Vous pouvez masquer et afficher autant que vous voulez, et ils vont continuer leur ordre d'origine. Il fonctionne dans tous les navigateurs. Vous pouvez voir que dans cet exemple: jsFiddle - Bascule Options du menu Déroulant
Vous pouvez obtenir le Bascule Options du menu Déroulant plug-in. Si vous n'aimez pas les plugins, il suffit de copier le code JavaScript à partir de votre propre projet de fichier JavaScript. Voir la Lire les Docs lien sur le plug-in pour plus d'informations!
OriginalL'auteur Glen Little
C'Est Très Simple En Jquery
OriginalL'auteur Manoj Thapliyal