jquerymobile selectmenu失败

时间:2011-09-02 18:37:34

标签: sqlite html5 jquery-mobile

我正在尝试使用Jquerymobile-html5和websql / sqlite创建类别列表。

我在这里发布我的代码,希望有人看到我做错了。

    //load the cats to choose a cat 
function loadCatOptions() {

var option_str='';
option_str += '<option value="0" data-placeholder="true">Choose categorie</option>';
//option_str += '<option value="0">Top/ParentiD</option>';



db.transaction(function (tx) {
tx.executeSql('SELECT * FROM categories', [], function (tx, results) {

var len = results.rows.length, i;
for (i = 0; i < len; i++) {

var r = results.rows.item(i);

var catID = r.categories_id;
}
var count =0;
while (count < catID+1){
count;

tx.executeSql('SELECT c.parent_id, c.categories_id, cd.categories_name, c.categories_image FROM categories c, categories_description cd WHERE c.categories_id ='+  count  +' AND cd.categories_id ='+  count  +' and cd.language_id ="1"  ORDER BY sort_order, cd.categories_name', [], function (tx, results) {


var len = results.rows.length, i;
for (i = 0; i < len; i++) {

var r2 = results.rows.item(i);



option_str += "<option value=" +  r2['categories_id']  + ">" +  r2['categories_name']  + "</option>";
console.log('categoriesname='+ r2['categories_name']);
$("#parent_id").html(option_str).selectmenu('refresh', true);
}

});
count++;

}



});
});           
}

控制台日志按名称显示所有项目,因此我确信数据库查询是正确的。 我可能花了几天时间来解决根本不存在的问题。 如果我只接受SELECT *查询并调用selectmenu,我可以看到列表中的所有categorie_id(当前由categories_id替换categories_name以使其工作)。 所以现在的问题是jquerymobile ??????????????

它不会在第二个数据库查询中读取option_str + =! aaargg

上面的代码已使用修复程序进行更新。

1 个答案:

答案 0 :(得分:1)

从你的问题:

问题已修复

旧代码:

option_str += "<option value=" +  r2['categories_id']  + ">" +  r2['categories_name']      + "</option>";
console.log('categoriesname='+ r2['categories_name']);
}

});
count++;

}

$("#parent_id").html(option_str).selectmenu('refresh', true);//Moved below closing tag of count++

});
});           
}