0

我试图在单击列表视图控件时获取它的行值,并且我想在文本框中显示它。我在http://www.ezzylearning.com/tutorial.aspx?tid=7597714找到了一篇演示这种场景的文章。我尝试使用 javascript 来获取我的 listview 控件的行值并将其设置到我的文本框以使用该文章中给出的 javascript 代码的格式显示。我需要帮助修复我的 javascript 代码上的运行时错误,该代码会弹出一个错误窗口并显示Microsoft JScript runtime error: Object expected,每次单击任何行时。以下是我的代码供您参考:提前致谢。

<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>
4

1 回答 1

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。

于 2013-04-10T18:35:18.397 回答