2013-03-01 70 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); 
    } 

} 
相关问题