2013-05-07 77 views
1

如何從jqTransform選擇框中獲取選定值?使用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/

編輯1:我應該指出的是選擇框動態添加,然後我應用的插件,因此.on()

編輯2:我更喜歡使用的.on()代替.bind()。從jQuery的:「在jQuery 1.7中,。對()方法是用於事件處理程序安裝到一個文件的優選方法。」

回答

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您可以刪除返回false(jquery.jqtransform.js),我認爲將工作

+0

我應該指出,選擇框是動態添加,然後我應用插件,因此.on() – 2013-05-07 01:46:14

+0

我更新了我的解決方案,我認爲這解決了您的情況 – 2013-05-07 01:49:02

+0

感謝您的時間!但是,你知道爲什麼.on()不起作用嗎? – 2013-05-07 01:55:10