2009-08-17 4 views
1

Эй, ребята, я работаю над чем-то, и хочу, если я нажму на элемент текстового поля на его значение. единственная проблема заключается в том, что у нее нет идентификатора.Mootools: Получить значение элемента clicked

мой 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> 

мой MooTools код:

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

    var el = $('textbox'); 

}); 

Если я нажимаю первое текстовое поле я хочу предупредить test1. Если я нажимаю на второй я хочу предупредить test2

Я думал о добавлении идентификаторов в текстовые поля, но Textboxes изменчивы ...

Заранее спасибо ..

ответ

2

Прежде всего, у тебя проблема. Отключенные элементы формы не запускают события DOM, поэтому вам придется выяснить, как вы хотите это обработать.

Во-вторых, на ваш вопрос. MooTools has a selector делать то, что вы хотите. Я считаю, что ниже фрагмент кода будет работать (я не эксперт MooTools)

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

Опять же, это не будет работать, если вы не удалите disabled="disabled" из ваших входов.

+0

peter: почему он будет работать независимо от отключенного - возможно, он не будет меняться визуально на экране, но при создании пользовательского события клика для элемента вы можете взаимодействовать с ним, тем не менее. вещи, которые я бы изменил, это this.value -> this.get («value») (лучшая практика и позволяющая использовать строковые прототипы), и падение селектора, вероятно, может оставаться как getElements («ввод»), если они не начнут меняться. –

+0

@ Dimitar - Я в замешательстве - вы говорите, что события DOM загораются из заблокированного элемента формы? Потому что это неправда. Я рекомендую вам сделать простой тест, чтобы убедиться в этом ' '. Конечно, вы можете зарегистрировать прослушиватель событий, но он никогда не будет срабатывать, поскольку эти события никогда не будут отправлены в DOM. –

+0

hrm - вы правы, я этого не знал. –

Смежные вопросы