jqueryMobileのselectmenuにオプションを追加しようとしています。sqliteデータベースから追加したい値を読み取ります。データベースからの読み取りは機能し(コンソールログ出力は16行が見つかったことを示します)、新しいオプションを保持する変数も正しく入力されます。しかし、selectmenuにオプションを追加したい場合、「初期化前にselectmenuのメソッドを呼び出せません:メソッド'refresh'を呼び出そうとしました。更新前にselectmenu()メソッドを実行しようとしましたが、実行しました」というエラーが表示されます。どちらも機能しません。私のコードは次のとおりです。
HTML:
<select name="subject" class="subjectDropdown" data-native-menu="false">
<option>%tx_subject%</option>
</select>
Javascript:
// Read all subjects from the database
fillSubjectsDropdown: function(){
sz.db.container.transaction(function(tx){
tx.executeSql("SELECT * FROM SUBJECTS ORDER BY sj_name", [], sz.db.selectSubjectsSuccess, sz.db.errorCB);
}, sz.db.errorCB, sz.db.successCB);
},
// Read subjects Callback
selectSubjectsSuccess: function(tx, results){
var len = results.rows.length;
console.log('### szlog: Subjects found: ' + len);
var subjects = '<option value="">' + sz.langdata['subject'] + '</option>';
for (var i = 0; i < len; i++){
subjects += '<option value="' + results.rows.item(i).sj_id + '">' + results.rows.item(i).sj_name + '</option>';
}
$(".subjectDropdown").html(subjects).selectmenu('refresh', true);
},
私はいくつかの記事を検索して見つけましたが、どれも本当に私を助けることができませんでした。どんな助けでも大歓迎です。
jqueryMobile 1.2.0、jquery 1.8.3、phonegap2.3.0を使用しています
ありがとう