1

選択リストを介してjquerymobileでメニューのスタイル設定に取り組んでいます。問題は、オプションとして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 

以下の例では、data-native-menuを削除しましたが、機能しますが、UIは意図したものを認識しません。

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');

この問題の原因は何ですか?

4

1 に答える 1

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>

編集:コードを変更しました。テストしたところ、選択が正しく表示されます。

于 2013-01-09T17:09:30.220 に答える