0

嗨,我被困住了,我需要将状态传递给 Apply() 函数。但是当我把 Apply("+ Status +"); 进入 for 循环它似乎不起作用。但是,如果 Status 等于某个数字,它就可以工作。请帮忙。这是我的代码。

状态等于“完成,未完成”。

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>";

}
4

5 回答 5

0

试试Apply(\""+ Status +"\");。转义的引号告诉 JS 有一个文本,否则它认为有一些变量。

您可以使用单引号Apply('"+ Status +"');,但这需要在您的代码中进行一些修改。

于 2013-03-01T08:19:20.107 回答
0

如果 status 是一个字符串,你需要像这样封装它:

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

注意单引号和双引号的不同用法

于 2013-03-01T08:19:47.550 回答
0

如果您的状态是字符串,则必须使用“”,例如“字符串”。在您的情况下,这应该有效:

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

数字有效,因为它们不需要撇号,这就是它们被正确处理的原因。

我做了更简单的例子,并用你的代码来展示它。检查您的 JavaScript 控制台以查看结果:http: //jsfiddle.net/EE8hN/

于 2013-03-01T08:22:15.317 回答
0

检查这个。这将工作

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

于 2013-03-01T08:26:57.730 回答
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);
    }

}
于 2013-03-01T08:33:18.370 回答