J'ai créé une fonction appelée billingOptions() associée à un élément dropdown (select). Lorsqu'un utilisateur sélectionne une option dans la liste déroulante, la fonction est exécutée.Jquery onChange exécute cette fonction
La liste déroulante sera ajoutée dynamiquement à la page ... à chaque fois que vous ajoutez la fonction billingOptions() onChange. J'essaie d'utiliser Jquery pour trouver l'instance la plus proche du class = rate dans la liste déroulante qui a été modifiée. Gardez à l'esprit que les listes déroulantes sont ajoutées dynamiquement afin qu'il puisse y avoir plusieurs instances de .rate ...
J'ai essayé d'utiliser "ceci" et "le plus proche" pour trouver le cours le plus proche (je ne suis même pas sûr que vous peut utiliser une classe avec la fonction la plus proche). Voici le code:
*** on m'a demandé de fournir la structure exacte du HTML (. Les lignes de la table sont générées dynamiquement Le tableau est statique).
<table id="billTasks">
<tr> <input class="taskNameInput" type="text" size="52" placeholder="Task Name" name="task:1" disabled="disabled"> <select class="billOptions" onchange="billingOptions(this)">
<option class="fixedRate">Bill Fixed Rate</option>
<option class="hourly">Bill Hourly</option>
</select>
<input type="text" name="fixedRate" placeholder="Rate" class="fieldWidth100 rate"/>
</tr>
</table>
function billingOptions(){
$(this).closest('.rate').hide();
}
*** EDIT: ce code ne fonctionne pas. Le but est de cacher l'élément input.rate.
cela semble bien, à quel problème faites-vous face? – Mrchief
est-ce que cela fonctionne correctement? http://jsfiddle.net/vzfyz/ –
rien ne se passe. J'ai édité le code pour montrer l'entrée avec la classe .rate. –