如何在输入按钮属性jQuery中获取字符串数据

时间:2015-01-12 07:15:44

标签: jquery html5

我从数据库获取数据并使用每个循环将数据附加到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); 
}

它只是在空格之前显示“我的”唯一文字。它将如何显示完整的字符串?

3 个答案:

答案 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>");