2009-08-17 10 views
1

Hé les gars, je travaille actuellement sur quelque chose et je veux que je clique sur un élément de la zone de texte la valeur de celui-ci. le seul problème est qu'il n'a pas d'identifiant.Mootools: Obtenez la valeur de l'élément cliqué

mon code html:

<ul id="textbox"> 
    <li><input type="text" value="test1" name="chosen" disabled="disabled" /></li> 
    <li><input type="text" value="test2" name="chosen" disabled="disabled" /></li> 
    <li><input type="text" value="test3" name="chosen" disabled="disabled" /></li> 
    <li><input type="text" value="test4" name="chosen" disabled="disabled" /></li> 
</ul> 

mon code Mootools:

window.addEvent('domready', function() { 

    var el = $('textbox'); 

}); 

Si je clique sur la première zone de texte que je veux alerter test1. Si je clique sur le deuxième que je veux alerter test2

Je pensais à ajouter les ID aux zones de texte, mais les zones de texte sont variables ...

Merci à l'avance ..

Répondre

2

tout d'abord, vous avez un problème. Les éléments de formulaire désactivés ne déclenchent pas d'événements DOM, vous devez donc déterminer comment vous souhaitez gérer cela.

Deuxièmement, à votre question. MooTools has a selector pour faire ce que vous voulez. Je crois que l'extrait ci-dessous fonctionnera (je ne suis pas expert Mootools)

var el = $('textbox'); 
el.getElements('input[name=chosen]').addEvents({ 
    'click': function() 
    { 
     alert(this.value); 
    } 
}); 

Encore une fois, cela ne fonctionnera pas à moins que vous retirez la disabled="disabled" de vos entrées.

+0

peter: pourquoi, il fonctionnera indépendamment de la désactivée - peut-être ne le changera pas visuellement à l'écran mais en créant un événement de clic personnalisé pour l'élément, vous pouvez néanmoins interagir avec lui. les choses que je changerais est this.value -> this.get ("value") (meilleure pratique et vous permettant d'utiliser des prototypes de chaînes) et laisser tomber le sélecteur peut rester comme getElements ("input") à moins qu'ils commencent à varier. –

+0

@Dimitar - Je suis confus - dites-vous que les événements DOM se déclenchent à partir d'un élément de formulaire désactivé? Parce que ce n'est pas vrai. Je vous encourage à faire un test simple pour voir par vous-même ' '. Bien sûr, vous pouvez enregistrer un écouteur d'événement, mais il ne se déclenchera jamais puisque ces événements ne seront jamais envoyés dans le DOM. –

+0

hrm - vous avez raison, je ne savais pas cela. –