2014-01-15 131 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