J'ai rencontré ce problème accidentellement pendant le processus de développement, et la première fois que j'ai résolu le problème, c'était Baidu. Les résultats sont les suivants :
1. La solution consistant à définir display: none en premier n'est définitivement pas réalisable
2. Deux solutions proposées par un internaute :
Sur la balise d'option ; L'ajout de l'attribut désactivé="disabled" indique qu'il n'est pas disponible. Cette solution rend uniquement l'option non sélectionnable, mais ne la masque pas
b Si vous souhaitez la masquer, vous pouvez uniquement supprimer l'option de l'arborescence DOM, puis supprimez l'option L'option est mise en cache, puis retirer l'option du cache et l'ajouter à l'arborescence DOM lorsqu'elle doit être affichée
n'est certainement pas conforme aux exigences.
c. La solution ultime (testée pour être compatible avec tous les navigateurs) : ajoutez une balise parent à l'option, et définissez la balise parent pour qu'elle soit masquée [la balise span est utilisée ici]. la balise parent.
Cependant, toutes les méthodes ci-dessus sont inutiles
La solution finale :
//将select通过clone方法保存 var select= $("#select").clone(); //删除所有的option $("#select").find('option').remove(); //查找出需要显示的option并复制 var options = select.find("option[value=1]").clone(); //将需要显示的option添加到select中 $("#select").append(options); //因为option.remove()不会刷新控件,需要将新的option切换上去 //这里排除了options.size() == 0的情况 $("#select").find('option').eq(0).attr("selected",true);
C'est tout.
Des solutions plus parfaites au problème selon lequel l'option de sélection en HTML ne peut pas être masquée. Pour les articles connexes, veuillez faire attention au site Web PHP chinois !