Je peuplement de la liste déroulante du pays d'une base de données. Je dois sélectionner une valeur à partir de la liste déroulante et l'attribuer à la zone de texte à l'aide de JavaScript à l'aide de JavaScript.
Code: p>
var textboxId = document.getElementById("txtCountry"); var dropdownListId =document.getElementById("ddlLocation"); var e = document.getElementById("ddlLocation"); var strUser = e.options[e.selectedIndex].value; document.getElementById(textboxId).value = strUser; document.getElementById(textboxId).focus();
4 Réponses :
Essayez avec: ou p> c'est parce que les ID des éléments HTML dans les documents générés ne correspondent pas à L'ID que vous avez attribué dans votre code. Pour obtenir l'identifiant assigné à votre contrôle dans le HTML, vous pouvez utiliser la propriété Clientid de votre liste déroulante. P> Un autre problème est que vous affectez votre élément à variable et utilisez la fonction GetElementyID qui n'est pas valide appel. p> Ceci est modifié dans ASP.NET 4, qui est sur le point d'être libéré. P> espère que cela aide! P> P>
Je reçois une erreur: document.getElementyID (..) est nul ou pas un objet si j'ai utilisé ci-dessus déclaration.
Peut-être que vous avez mal ayé l'identifiant. Il devrait être l'ID dans votre fichier ASCX / ASPX du contrôle déroulant. Exemple:
Dropdown est renseigné à partir de DB. Lorsque je sélectionne n'importe quel emplacement, je veux le lier à la zone de texte.
Ensuite, vous devriez pouvoir prendre la valeur dans la liste déroulante avec document.getElementyID ('<% = ddllocation.clientid%>'). Valeur
Ces deux lignes: sont également fausses. Si votre ligne précédente a effectivement fonctionné: p> alors ce que vous avez appelé textboxid i> sera le contrôle de la zone de texte, vous allez donc faire un GetElementyID i> Utilisation de la commande au lieu d'un identifiant de chaîne. p> suivre sur quoi @anthares b> dit; Essayez ceci: p> et assurez-vous que vous obtenez l'identifiant correct pour la zone de texte (rappelez-vous qu'il sera mungé par ASP.NET, au moins assurez-vous de ne pas être ne rien obtenir). Ensuite, lorsque vous faites un document.getelementByID i> Vous devez vérifier le résultat avant d'utiliser: p>
Reportez-vous ensuite à la première partie de ma réponse sur les deux lignes qui ne va pas.
Votre code est faux, consultez l'endroit où j'ai apporté les modifications au même code: Ce que vous avez fait, est que vous avez sélectionné votre zone de texte et JS vous a renvoyé un élément DOM de Cette zone de texte et vous vouliez le peuplir en passant le Voici où il s'est cassé: p> à utiliser espère que cela aide. p> p> DOM code> de la zone de texte dans la fonction
getElementyID () code> fonction. p>
getElementById () code> méthode, vous passez une valeur de chaîne de l'ID d'un élément. p>
Bonjour Elite, j'ai la liaison de la liste déroulante de dB et assigner comme DataTextField = "Nom d'origine" DataValueField = "ID" ci-dessus, il est revenir sur l'ID. Mais j'ai besoin d'obtenir du texte. Si j'ai changé Datavaluefield, alors cela fonctionne.
Désolé Slugster, je n'ai pas vérifié votre réponse! :-) Les grands esprits se soient réputés.
@Kumar, je ne comprends pas, ça marche ou y a-t-il quelque chose que je dois regarder?
Ouais j'ai changé le peu de code maintenant c'est bon. Merci beaucoup
Si vous ne voulez pas utiliser
var VarName = $('#<%=YouDropDownId.ClientId %>').val();
Je viens de modifier vos empreintes de code, vous les avez fait tourner dans le mauvais sens. Si vous voulez qu'il apparaisse dans un bloc de code, retiendrez la ligne de quatre (ou plus) espaces.
En fait, je les ai réparées, comme vous l'avez fait. Je ne sais pas pourquoi l'OP a annulé?
Malheureusement, quand j'ai pensé à cliquer sur Modifier, j'ai cliquez sur Rollback. que tu penses que c'était la restauration.