2014-01-15 87 views
2

我想用jQuery弹出jQuery mobile select。如何使用JavaScript弹出jQuery mobile select?

<select class="select1" name="select1" id="select1" data-native-menu="false"> 
     <option value="1">Opt1</option> 
     <option value="2">Opt2</option> 
     <option value="3" disabled="disabled">Opt3</option> 
     <option value="4">The 4th Option</option> 
     </select> 

点击此按钮打开

<p onClick="test()">OpenUp</p> 

功能:

test= function() { 
$(".select1").selectmenu("open"); 
} 

但我得到了一个错误:

Uncaught Error: cannot call methods on selectmenu prior to initialization; attempted to call method 'open'

小提琴 http://jsfiddle.net/k3Dz6/

如何解决? TY!

+0

您的代码是在页面加载后执行的吗?如果您使用的是jQuery,您是否正在使用文档准备回调? – Lix

+0

我点击OpenUp文本打开编辑的问题 – Waiom

回答

1

select1类也被分配到<span>元素,该元素是selectmenu小部件的一部分,用于扩充您的<select>元素。

因此,$(".select1").length2,和$(".select1").selectmenu("open")调用<span>元件,从而未能对selectmenu()方法。

您可以通过ID来识别<select>元素:

$("#select1").selectmenu("open"); 

或限制类选择:

$("select.select1").selectmenu("open"); 

你会发现一个更新的小提琴here