2

このコードで私を助けてもらえますか:

JavaScript :

$(document).ready(function() {
            $('#roomresults').append('<option value="ahoj">say hallo</option>');
            $('#roomresults').selectmenu('refresh'); 
            });

そして私の選択:

<label for="roomresults"> Results: </label>
<select name="roomresults" id="roomresults" data-theme="c">
</select>

単純に見えますが、実行するとJavaScriptコンソールに表示されます

キャッチされていない TypeError: オブジェクト [オブジェクト オブジェクト] にはメソッド 'selectmenu' がありません

問題はどこだ?あなたの答えをありがとう:)

4

1 に答える 1

1

次の構文は使用しないでください。

$(document).ready(function() {
    $('#roomresults').append('<option value="ahoj">say hallo</option>');
    $('#roomresults').selectmenu('refresh'); 
});

次のように使用します。

$(document).live('pageinit',function(e,data){
    $('#roomresults').append('<option value="ahoj">say hallo</option>');
    $('#roomresults').selectmenu('refresh'); 
});

理由: $(document).ready(function() {では十分ではありません。この時点で、jQuery モバイルはページを DOM にロードし始めています。イベントpageinitを使用して、jQM が正常にロードされたかどうかを確認します。このイベントの後または最中にのみ、 selectmenu ('refresh')などの jQM 機能を使用できます。

詳細については、http: //jquerymobile.com/test/docs/api/events.htmlを参照してください。

そして、証拠のない答えは何ですか: http://jsfiddle.net/Gajotres/2wmZK/

于 2013-01-03T12:46:12.383 に答える