javascript中的运行时错误

时间:2013-04-10 18:14:56

标签: javascript jquery asp.net

我正在尝试获取listview控件的行值,当它被单击时,我 想要在文本框中显示它。我发现了一篇证明这种情况的文章 方案http://www.ezzylearning.com/tutorial.aspx?tid=7597714。我试过了 使用javascript获取我的listview控件的行值并将其设置为我的 使用该文章中给出的javascript代码格式显示的文本框。 我需要帮助修复我的javascript代码上的运行时错误,弹出一个错误窗口 每次单击任何一个时,表示 Microsoft JScript运行时错误:预期的对象 行。以下是我的代码供您参考:提前致谢。

<script type ="text/javascript" >

    var row;
    var id,name,addr,age,natn,occ;

    function GetRow(rowval)
    {
        row = $(rowval).parent().parent(); // the runtime error hightlights on this line

        id = $("#id", row).text();
        name = $("#name", row).text();
        addr = $("#addr", row).text();
        age = $("#age", row).text();
        natn = $("#natn",row ).text();
        occ = $("#occ",row).text();

        row.addClass("highlightRow");

        $("#TextBox1").val(id);
        $("#TextBox2").val(name);
        $("#TextBox3").val(addr);
        $("#TextBox4").val(age);
        $("#TextBox5").val(natn);
        $("#TextBox6").val(occ);
    }

</script>

ItemTemplate中我的listview控件的源代码:

<ItemTemplate>

    <tr style="background-color:#E0FFFF; color: #333333;" >
        <td>
            <asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' style="cursor: pointer;" onclick = "return GetRow();" />
        </td>

        <td>
            <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
        </td>

        <td>
            <asp:Label ID="AddressLabel" runat="server" Text='<%# Eval("Address") %>' />
        </td>

        <td>
            <asp:Label ID="AgeLabel" runat="server" Text='<%# Eval("Age") %>' />
        </td>

        <td>
            <asp:Label ID="NationalityLabel" runat="server" Text='<%# Eval("Nationality") %>' />
        </td>

        <td>
            <asp:Label ID="OccupationLabel" runat="server" Text='<%# Eval("Occupation") %>' />
        </td>
    </tr>

</ItemTemplate>

1 个答案:

答案 0 :(得分:0)

尝试这样做:

为您的标签IDLabel添加一个CssClass。让我们为这个例子说myLabel。然后为点击事件添加以下代码(您将不再需要GetRow):

$(".myLabel").click(function(){
    row = $(this).parent().parent();
    // all your other stuff from GetRow()
});

我注意到你在jquery代码中引用了#TextBox1。您应该注意,如果TextBox1是一个asp.net控件,这将无法用于选择该元素,因为呈现的元素ID不是TextBox1。