2013-05-07 2 views
1

Как я могу получить выбранное значение из поля выбора jqTransform?событие click с использованием jqTransform

HTML:

<form> 
    <select> 
     <option value="1">A</option> 
     <option value="2">B</option> 
     <option value="3">C</option> 
    </select> 
</form> 

JS:

$('form').jqTransform(); 

$(document).on("click", ".jqTransformSelectWrapper ul li a", function() 
{ 
    alert("ok"); 
}); 

В примере кода выше, не стреляя, и я не Kown почему :(

jsfiddle: http://jsfiddle.net/matias/ghFdC/

EDIT 1: Я должен указать, что выберите поле добавляется динамически, а затем я применить плагин, поэтому .on()

EDIT 2: Я предпочитаю использовать .on() вместо .bind(). Из JQuery: «По состоянию на JQuery 1.7, метод .on() является предпочтительным способом для прикрепления обработчиков событий к документу

ответ

2

Проблемы в этом случае с jquery.jqtransform.js, в строке 273 это использование:

$ul.find('a').click(function(){ 

и в конечном использовании возвращают ложные, то этот призыв JQuery к

event.preventDefault(); 
event.stopPropagation(); 

, а затем останавливается ...

Видимо, это остановить делегат на, но это не случается с этим:

$('form').jqTransform(); 
$('.jqTransformSelectWrapper ul li a').bind('click',function(){ 
    alert('ok'); 
}); 

если вы preffer вы можете удалить, что возвращают ложные (jquery.jqtransform.js) и я думаю, что на будет работать

+0

Я должен указать, что окно выбора добавляется динамически, а затем я применяю плагин, следовательно. .on() –

+0

Я обновил свое решение, я думаю, что это решило вашу ситуацию. –

+0

Спасибо за ваше время! но, знаете ли вы, почему .on() не работает? –

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