我从数据库获取数据并使用每个循环将数据附加到grdbody。
$.each(Data, function (i, v) {
$("#grdbody").append('<tr/>').children('tr:last')
.append("<td class='first style2'><label id='lblDesc" + i + "'>" + v.Purpose + "</label></td>")
.append("<td><a href='#' " value=" + v.Purpose + " onclick='CallPurpose(this)'>Select</a></td>")
});
它在lblDesc上显示正确的字符串,例如“我的名字是”,但是当我将相同的v.purpose
传递给函数CallPurpose()
时,它只显示空白空间之前的“我的”文本。
function CallPurpose(cntrl)
{
var RptDesc = $(cntrl).attr("value");
alert(RptDesc);
}
它只是在空格之前显示“我的”唯一文字。它将如何显示完整的字符串?
答案 0 :(得分:0)
您必须在值之前和之后添加single quote
,如下所述。修正后,您的代码可以正常工作。
.append("<td><a href='#' " value='" + v.Purpose + "' onclick='CallPurpose(this)'>Select</a>
^^^^ ^^^^
答案 1 :(得分:0)
.append("<td><a href='#' value='" + v.Purpose + "' onclick='CallPurpose(this)'>Select</a></td>")
//----------------------^ remove a double quote from here and add a single quote.
答案 2 :(得分:0)
试试此代码
$("#grdbody").append('<tr/>').children('tr:last').append("<td class='first style2'><label id='lblDesc'" + i + "'>" + v.Purpose + "</label></td>").append("<td><a href='#' value='" + v.Purpose + "' onclick='CallPurpose(this)'>Select</a></td>");