Не может вызвать $ (this) .find ("a"). Click (); стрелять используя JQuery - PullRequest
0 голосов
/ 03 июня 2010

У меня есть небольшой вопрос, который должен быть очень легким для экспертов по jquery. Я пытаюсь следовать http://aspdotnetcodebook.blogspot.com/2010/01/page-languagec-autoeventwireuptrue.html, чтобы иметь возможность выполнить действие по двойному щелчку строки сетки. Я могу перенаправить на другую страницу нормально (как показано в примере), но я не могу вызвать $ (this) .find ("a"). Click (); стрелять Ниже моя разметка GridView.

<asp:GridView ID="gvCustomers" runat="server" DataSourceID="odsCustomers" CssClass="datagrid"
        GridLines="None" AutoGenerateColumns="False" DataKeyNames="Customer_ID" PageSize="3"
        AllowPaging="True" AllowSorting="True" OnRowCommand="gvCustomers_RowCommand"
        OnRowDataBound="gvCustomers_RowDataBound">
        <Columns>
            <asp:BoundField DataField="Customer_ID" HeaderText="ID" ReadOnly="true" Visible="false" />
            <asp:BoundField DataField="Customer_FirstName" HeaderText="First Name" ReadOnly="true" />
            <asp:BoundField DataField="Customer_LastName" HeaderText="Last Name" ReadOnly="true" />
            <asp:BoundField DataField="Customer_Email" HeaderText="Email" ReadOnly="true" />
            <asp:BoundField DataField="Customer_Mobile" HeaderText="Mobile" ReadOnly="true" />
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lnkButton" runat="server" CommandName="showVehicles" CommandArgument='<%# Eval("Customer_ID") %>'
                        ></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <EmptyDataTemplate>
            Sorry No Record Found.
        </EmptyDataTemplate>
    </asp:GridView>

Я просто не могу заставить его работать, как предположил автор: / * или у вас может быть скрытая кнопка LinkButton в строке (Text = "" или не задано), которую вы можете вызвать. Убедитесь, что вы установили CommandName = "Something" и CommandArgument = "RecordId" * /

в OnCommand linkButton, у меня есть метод на стороне сервера, который я хотел бы запустить. Любые идеи будут наиболее оценены.

Спасибо, Али

1 Ответ

0 голосов
/ 03 июня 2010

При просмотре скрипта ниже ваша ссылка не нажата, потому что установлен window.location. Читая сообщение в блоге, говорите, что вы либо установили window.location, либо использовали $(this).find("a").click();, но не оба.

<script type="text/javascript">
    var selected = null;
    $(document).ready(function(){
        $("#gvCustomers").find("tr").click(function(){
            $(selected).removeClass("selected"); $(this).addClass("selected"); selected = this;
        });
        $("#gvCustomers").find("tr").dblclick(function(){
            var Id = $(this).find("td:nth-child(1)").text();
            //window.location = "/CustomersVehiclesWebSite/Default2.aspx?record=" + $(this).find("td:nth-child(1)").text();
            $(this).find("a").click();
        });
     });
     function doPostBack(element) {
     tb_remove();
     setTimeout('__doPostBack(\'' + element.name + '\',\'\')', 500);// 500ms given to thickBox to remove itself
     }
</script>
...