Javascript modifier <p> le contenu en fonction de l'option de sélection
pas le meilleur avec du Javascript donc pensé que je voudrais vous demander où je vais mal.
comme le suggère le titre, j'ai une boîte de sélection avec 4 options différentes, lorsqu'une option est sélectionnée, je veux changer le contenu d'un <p>
balise avec l'id de pricedesc. Voici ce que j'ai jusqu'à présent.
function priceText(sel)
{
var listingType = document.getElementById('listingtype');
var priceDesc = document.getElementById('pricedesc');
if ( sel.options[sel.selectedIndex].value == "Residential Letting" ) {
priceDesc = "Enter price per month";
}
else if ( sel.options[sel.selectedIndex].value == "Short Let" ) {
priceDesc = "Enter price per week";
}
else if ( sel.options[sel.selectedIndex].value == "Serviced Accommodation" ) {
priceDesc = "Enter price per week";
}
else if ( sel.options[sel.selectedIndex].value == "Sale" ) {
priceDesc = "Enter for sale price";
}
}
et dans le corps, j'ai:
<label>Listing Type:</label>
<select name="listingtype" id="listingtype" onchange="priceText(this);">
<option value="Residential Letting">Residential Letting</option>
<option value="Short Let">Short Let</option>
<option value="Serviced Accommodation">Serviced Accommodation</option>
<option value="Sale">Sale</option>
</select>
<label>Price:</label>
<p id="pricedesc">Enter price</p>
<input name="price" type="text" id="price" value="<%=Request.Form("price")%>" maxlength="10" />
Merci pour votre aide.
J.
Vous pouvez aussi avoir une description par défaut de "Entrez le taux mensuel pour la Location Résidentielle, le taux hebdomadaire de Courte durée, ou un service d'Hébergement, ou de prix de vente" pour les utilisateurs qui n'ont pas JS activé. Et puis il suffit de le remplacer au chargement de la page avec "Entrez le prix" pour tout le monde. Oh, et utiliser le
for
attribut dans vos étiquettes à attacher à son entrée.OriginalL'auteur JBoom | 2010-07-05
Vous devez vous connecter pour publier un commentaire.
De changer la ligne où vous définissez le contenu de ce paragraphe de
à
Actuellement, vous êtes simplement en changeant le
priceDesc
variable pour contenir une chaîne de caractères au lieu de cela, le point de noeud. Réglage de lainnerHTML
attribut d'un nœud modifie le html contenu à l'intérieur. 😀OriginalL'auteur Gordon Gustafson
Vous souhaitez définir l'attribut innerHTML.
Comme une note de côté, je vous recommande d'utiliser le framework javascript jQuery aller de l'avant ( http://jquery.com/ ), ça fait des tâches comme ça beaucoup plus simple.
Merci pour vous réponse de Mike, qui a fait le tour tout de suite pensé que ce serait quelque chose de petit. Je ne utilisez un peu de jQuery bien que pour juste une chose, je ne pense pas qu'il valait utilisateurs de télécharger le fichier jquery pour elle + je n'aurais pas su comment m'y prendre....m'aurait pris beaucoup plus de temps pour arriver là où j'étais. Merci encore une fois...J.
juste assez. 🙂 Je viens de le recommander à tout le monde .
OriginalL'auteur Mike Sherov
Vous devez utiliser innerHTML pour modifier le contenu d'un élément.
Il ya une idée fausse btw:
Démo
OriginalL'auteur gblazex