1

如何从 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");
});

上面的示例代码没有触发,我不知道为什么:(

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

编辑1:我应该指出选择框是动态添加的,然后我应用插件,因此.on()

编辑 2:我更喜欢使用 of.on()而不是.bind(). 来自 jQuery:“从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。

4

1 回答 1

2

这种情况下的问题在于 jquery.jqtransform.js,在第 273 行中使用:

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

最后使用return false,然后由 jquery 调用

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

然后停在那里...

显然这会阻止委托但不会发生这种情况:

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

如果您愿意,您可以删除返回错误(jquery.jqtransform.js),我认为起作用

于 2013-05-07T01:44:02.267 回答