2013-01-09 36 views
1

使用jquery mobile通過選擇列表處理菜單樣式。問題是,添加一個data-native-menu =「false」作爲選項會在我將它附加到標題時引發錯誤。上能夠正常工作的代碼段是這樣的:JQuery Mobile data-native-menu =「false」引發未定義錯誤

var menu = '<div class="ui-select"><select name="menu-items" class="menu-items" id="menu-items" tabindex="-1" data-native-menu="false" >'; 
     menu += '<option value="a">A</option> <option value="b">A</option>'; 
     menu += '</select></div>'; 
$("div[data-role='header']", this.el).html(menu).trigger('create'); 

,它產生的錯誤是這樣的:

Uncaught TypeError: Cannot read property 'jQuery18303288714927621186' of undefined 

在下面的例子中,我刪除了數據,本機的菜單,它會工作,但用戶界面沒有看到:

var menu = '<div class="ui-select"><select name="menu-items" class="menu-items" id="menu-items" tabindex="-1" >'; 
     menu += '<option value="a">A</option> <option value="b">A</option>'; 
     menu += '</select></div>'; 
$("div[data-role='header']", this.el).html(menu).trigger('create'); 

什麼可能導致此問題?

+0

你使用的是什麼jquery-mobile版本? –

+0

最新版本,1.2.0 –

回答

0

試試這個:

<!DOCTYPE html> 
<html><head> 
<meta charset="UTF-8"> 
<title>data-natice-menu</title> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile.structure-1.2.0.min.css" /> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script> 
<script> 
$(document).ready(function(e) { 
    var menu = '<div class="ui-select"><select name="menu-items" class="menu-items" id="menu-items" tabindex="-1" data-native-menu="false" >'; 
    menu += '<option value="a">A</option> <option value="b">A</option>'; 
    menu += '</select></div>'; 
    $("div[data-role='header']", this.el).html(menu).trigger('create'); 
}); 

</script> 
</head> 
<body> 
<div data-role="page" data-theme="a" id="page"> 
    <div data-role="header" data-position="fixed"></div> 
</div> 
</body> 
</html> 

編輯:我改變了代碼。我測試了它,並顯示正確選擇。

+0

不,不這樣做 –

+0

檢查所做的更改。 –