Comment définir l'option par défaut pour SÉLECTIONNER le Tag et comment faire pour obtenir l'Index de l'option sélectionnée?
Je voudrais avoir un code en HTML et JavaScript processus et SÉLECTIONNEZ l'OPTION Éléments
<select>
<option>
</option>
<option>
</option>
</select>
Comment je peux obtenir l'Index de l'option sélectionnée et ensuite obtenir la valeur de cet indice?
Comment puis-je faire de 2010 l'option par défaut visuel pour les utilisateurs dans la balise select existant dans le formulaire dans une page web?
Mon code ressemble à ça :
<select id="SelectYear" name="SelectYear" size="1">
<script type="text/javascript">
var startyear = "1950";
var endyear = "2020";
for(var k=startyear; k<=endyear; k++ ) document.write("<option value="+k+">"+k+"</option>");
</script>
</select>
J'ai essayé de nombreuses expressions pour obtenir cet indice, même moi, je sais que cela peut donner une autre chose comme:
var vIndex = document.getElementById('SelectYear').selectedIndex;
var vIndex = document.getElementById('SelectYear').selectedIndex.value;
var vIndex = document.getElementById('SelectYear').selectedIndex.text;
var vIndex = document.getElementById('SelectYear').options[document.getElementById('SelectYear').selectedIndex];
var vIndex = document.getElementById('SelectYear').options[document.getElementById('SelectYear').selectedIndex].value;
var vIndex = document.getElementById('SelectYear').options[document.getElementById('SelectYear').selectedIndex].text;
Ma solution solution consiste à placer l'index statique comme:
document.getElementById('SelectYear').selectedIndex = 60 ;
Mais si je ne sais pas exactement de l'indice ou de l'indice est modifiée en fonction des changements lancée dans le SÉLECTIONNER des éléments en raison de la base de données de mise à jour ou édition manuelle?
Je peux voir la question sna réponses facilement et le code est écrit dans une couleur spéciale et entre par des carrés ce que tu veux dire en utilisant le Code de Blocage ??
Je ne suis pas entièrement sûr que je comprends ce que tu veux, mais cela ressemble à ce que vous recherchez est tout simplement:
document.getElementById('SelectYear').value=2010;
J'ai essayé, mais le texte affiché pour l'option sélectionnée n'est pas en 2010 ! comme vous le savez valeur est stockée derrière et n'est pas affiché pour l'utilisateur et je veux changer l'option par défaut dans sélectionnez l'élément dans le cas où je ne connais pas l'indice d', mais je sais que la valeur et le texte. J'espère que vous comprenez mon point. Merci pour les Commentaires ..
OriginalL'auteur TopDeveloper | 2010-11-09
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur ajreal
Pour définir l'option par défaut basé sur l'index, essayez ceci:
(Vous pouvez également définir cette propriété sur false pour la précédente option par défaut.)
Source: DOM 2 spécification HTML: http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-37770574
OriginalL'auteur Šime Vidas
à l'aide de jQuery qui en feraient un processus assez simple. Ci-dessous suppose que la zone de sélection d'un id de SelectYear.
OriginalL'auteur Tom
selectedIndex
vous donne l'indice de l'option, donc un nombre entre 0 et le nombre total d'options. Ce n'est ni un objet, ni l'id de l'option.EDIT:
Je pense que je vais bafouiller un peu de votre code, parce que vous semblez être en train de faire plusieurs choses de mal ici. Cela peut ne pas être lié à votre problème, mais peut-être que vous êtes prêt à apprendre quelque chose.
1) Ayant une
script
élément à l'intérieur d'unselect
élément n'est pas valide.2) Il me semble que vous êtes en utilisant le JavaScript en Boucle pour générer quelque chose qui doit être statique. Je serait beaucoup mieux de simplement coder en dur la liste des options dans le code HTML, ou encore mieux, et si vous voulez moins de travail, de générer côté serveur.
3) Vous parlez de "choix par défaut", donc vous devriez également être fait que lors de la génération de la liste, donc soit modifier vous JavaScript la façon ajreal suggère, ou, encore mieux, de donner directement de l'option, le
selected
attribut dans votre code HTML, qui est également possibe (encore une fois) côté serveur.C'est vraiment déroutant ce que vous voulez. Votre texte semble en contradiction avec lui-même. Vous écrivez que vous voulez de get l'index, puis vous écrivez que vous voulez set l'index, puis vous dites que vous ne pouvez pas définir l'index parce que vous n'avez pas l'index. Je pense que vous avez vraiment besoin de simplifier votre question.
En d'autres termes, j'ai balise select avec environ 100 ans. Je sais que le texte et la valeur de chaque année, mais je ne sais pas l'index (je veux dire par programmation) et Le texte affiché pour l'option sélectionnée n'est pas en 2010 ! comme vous le savez valeur est stockée derrière et n'est pas affiché pour l'utilisateur et je veux changer l'option par défaut dans sélectionnez l'élément dans le cas où je ne connais pas l'indice d', mais je sais que la valeur et le texte qui en est 2010. Je sais que l'année 2010 a l'index de 60 ans dans la théorie, mais comment le faire dans le code ? J'espère que vous comprenez mon point. Merci pour les Commentaires
OriginalL'auteur RoToRa
OriginalL'auteur Adnan
Alors que cet extrait de code, peut-être de résoudre la question, y compris une explication aide vraiment à améliorer la qualité de votre post. Rappelez-vous que vous répondez à la question pour les lecteurs dans l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre code suggestion. Veuillez aussi essayer de ne pas surcharger le code avec des commentaires explicatifs, car cela réduit la lisibilité à la fois le code et les explications!
OriginalL'auteur ABB