1

大家好, 我正在尝试在我的 asp.net 项目中使用 jquery 搜索下拉菜单。使用一天后,我遇到了一些问题,我已经尝试研究但无法修复。下面,我创建了一个小项目来演示我的问题: https ://app.box.com/s/u56motrehqii5g9spdbq

页面焦点正常工作,直到我放置可搜索的下拉脚本,在键入搜索并选择项目后,我按 Tab 将焦点放在下面的文本框,但焦点更改为我的 gridview 标题列。

我的页面

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="Default" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:DropDownList runat="server" ID="cboData" TabIndex="1">
                    <Items>
                        <asp:ListItem Value="A"></asp:ListItem>
                        <asp:ListItem Value="B"></asp:ListItem>
                    </Items>
                </asp:DropDownList>
                <asp:TextBox runat="server" ID="txtData" TabIndex="2"></asp:TextBox>
                <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="True">
                </asp:GridView>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
</asp:Content>

我的 .aspx.cs(仅用于输入样本数据)

#region

using System;
using System.Data;
using System.Web.UI;

#endregion

public partial class Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Column1");
        dt.Columns.Add("Column2");
        dt.Rows.Add(1, "CCC");
        dt.Rows.Add(2, "DDD");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

我的母版页

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<script src="JS/jquery-1.4.2.min.js" type="text/javascript"></script>

<script src="JS/jquery.searchabledropdown-1.0.8.min.js" type="text/javascript"></script>
<script language="javascript">
    var flag = false;
    // Load for page, run once in ajax, run every page load in normal page
    $(document).ready(function () {
        $("select").searchable();
    });
    // Load run each ajax callback 
    function pageLoad() {
        if (flag==false) {
            $("select").searchable();
        } else {
            flag = false;
        }
    };
</script>
<head runat="server">
    <title>Untitled Page</title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

请帮忙,不便之处请见谅,这是我在stackoverflow的第一篇文章。

4

1 回答 1

-1

我升级了 jQuery,它解决了我的问题。

于 2014-04-22T14:24:55.573 回答