我正在更新表值,然後我想在phonegap中顯示更新的表值。爲此,我正在使用reload()方法,但是當我使用這種方法時表不更新(與數據庫相關的代碼未執行),但正在重新加載。 任何人都可以請幫助我如何顯示使用重新加載或不使用重新加載..表的更新值?我的代碼是重新加載電話中的頁面
function save()
{ var v=0;
//alert("save button");
// alert("global :"+global.length);
for(var n=0;n<(global.length+l);n++)
{
//alert("hi");
var x1=$('input.current')[n];
//alert($(x1).val());
if($(x1).val()=="0")
{
// alert("compare");
var y1=$('input.new')[n];
newaloc[v]=$(y1).val();
//alert(newaloc[v]);
v++;
}
}
//var polno=init();
var db = window.openDatabase("DataBase", "3.6.22", "test", 200000);
db.transaction(function(transaction)
{
transaction.executeSql('SELECT * FROM POLICIES_DET WHERE POLICY_NUMBER="'+polno+'";',[],
function(transaction, result)
{
if (result != null && result.rows != null)
{
// alert(result.rows.length);
for (var i = 0; i < result.rows.length; i++)
{
var row = result.rows.item(i);
// $("#table").append("<tr><td class='fund'>"+row.FUND_DESC+"</td><td><input type='text' class='current' value='"+row.ALLOC_PERCNT+"' size='5' /></td><td><input type='text' class='new' value='"+row.FUND_VALUE+"' size='5' /></td><td><input type='text'class='new' size='5' /></td></tr>");
fund=row.INSURED_AMOUNT;
//alert(fund);
}
}
},errorHandler);
},errorHandler,nullHandler);
db.transaction(insert, errorCB, successCB);
al//ert("after insert");
//alert("no of records:"+global.length);
for(var i=0;i<global.length;i++)
{
var it=$('input.new')[i];
var k=$(it).val();
//if(k.length>0)
//{
// alert("new allocation loop");
xx.push(k);
//alert(xx[v]);
v++;
// }
}
v=0;
db.transaction(function(transaction)
{
// alert("updation");
for(var j=0;j<xx.length;j++)
{
var c=xx[j];
//alert(c);
var g=global[j];
//alert(g);
if(c.length>0)
{
var vl=fund*(c/100);
//alert(vl);
transaction.executeSql('UPDATE FUND_DET SET ALLOC_PERCNT="'+c+'",FUND_VALUE="'+vl+'"WHERE POLICY_NUMBER="'+polno+'"AND FUND_DESC="'+g+'";',[],
function(transaction, result)
{
if (result != null && result.rows != null)
{
//alert("Test other way");
for (var i = 0; i < result.rows.length; i++)
{
var row = result.rows.item(i);
}
}
},errorHandler);
}} },errorHandler,nullHandler);
location.reload();
}
這種技術對我不起作用。調用重新加載後,「deviceready」事件不會被觸發。相反,我發現最好自己調用deviceready方法,而不是重新加載整個頁面。 – 2012-03-07 23:51:33