2013-03-01 97 views
0

嗨,我卡住了,我需要將狀態傳遞給Apply()函數。但是當我把Apply(「+ Status +」);進入for循環它似乎不工作。但是,如果狀態等於某個數字,它就會起作用。請幫忙。這是我的代碼。如何將Text參數傳遞給循環中的函數?

狀態等於「完成,未完成」。

function querySuccess(tx, results, Type, Status, Amount, Years){ 
    var len = results.rows.length; 
    var display = ""; 

    display +="<table>"; 
    display +="<tr>"; 
    display +="<td>First Year Rate</td>"; 
    display +="<td>Apply Now</td>"; 
    display +="</tr>"; 

    for (var i=0; i<len; i++){ 
    display +="<tr>"; 
    display +="<td>"+ results.rows.item(i).first_year+"</td>"; 
    display +="<td><input type'button' onClick='Apply();' value='Apply'/></td>"; 
    display +="</tr>"; 
    } 
    display +="</table>"; 

} 

回答

0

嘗試Apply(\""+ Status +"\");。逃脫的引號告訴JS有一個文本,否則它認爲有一些變量。

您可以使用單引號Apply('"+ Status +"');,但這需要對代碼進行一些修改。

+0

感謝您的快速回復。但仍然無法工作。 – NOOPA 2013-03-01 08:22:38

0

如果狀態是,你需要封裝它像這樣的字符串:

display +="onClick=\"Apply('"+ Status +"');\" "; 

注意不同的使用單引號和雙引號

0

的。如果你的狀態是字符串,你必須使用「」例如「串」。在你的情況下,這應該工作:

display +="<td><input type'button' onClick='Apply("'+Status+'");' value='Apply'/></td>"; 

號碼的作品,因爲他們不需要撇號,這就是爲什麼他們正確處理。

我做了一個簡單的例子,並用你的代碼來顯示它。檢查你的JavaScript控制檯看到的結果: http://jsfiddle.net/EE8hN/

0

檢查這個one.this WIL工作

顯示+ = '<td><input type="button" onClick="Apply('+status+')" value="Apply"/></td>'

0
function querySuccess(tx, results, Type, Status, Amount, Years){ 
    var len = results.rows.length; 
    var display = document.createElement('table'); 
    var tr = document.createElement('tr'); 
    var td = document.createElement('td'); 
    var tmpEl; 

    var tmpTr = tr.cloneNode(); 
    var tmpTd = td.cloneNode(); 
    tmpTd.textContent = "First Year Rate"; 
    tmpTr.appendChild(tmpTd); 
    tmpTd = td.cloneNode(); 
    tmpTd.textContent = "Apply Now"; 
    tmpTr.appendChild(tmpTd); 

    display.appendChild(tmpTr); 

    for (var i=0; i<len; i++){ 
     tmpTr = tr.cloneNode(); 
     tmpTd = td.cloneNode(); 
     tmpTd.textContent = result.rows.item[i].first_year; 
     tmpTr.appendChild(tmpTd); 
     tmpEl = document.createElement('input'); 
     tmpEl.type = 'button'; 
     tmpEl.value = 'Apply'; 
     tmpEl.onclick = Apply; // yeah, just like this 
     tmpTd = td.cloneNode(); 
     tmpTd.appendChild(tmpEl); 
     tmpTr.appendChild(tmpTd); 
    } 

} 
相關問題