Ajax自动完成(autocomplete)-响应文本框输入后显示模糊数据列表

导入样式和脚本:

<script src="../JS/jquery.autocomplete.js" type="text/javascript"></script>
<link href="../Css/jquery.autocomplete.css" rel="stylesheet" type="text/css" />

加载模糊数据列表的脚本:

$(document).ready(function() {
    $("#txtOrgName").autocomplete("../Business/OrderCustList.ashx", {
        delay: 10,
        minChars: 1,
        matchSubset: 1,
        cacheLength: 1,
        onItemSelect: selectItem,
        onFindValue: findValue,
        autoFill: false,
        maxItemsToShow: 20,
        formatItem: function(row, i, max) {
            var vd = eval("(" + row + ")");
            return vd.OrgName;
        },
        formatResult: function(row) {
            var vd = eval("(" + row + ")");
            return vd.OrgName;
        }
    }).result(function(event, data, formatted) {
        //data 的数据格式 {{OrgName:'{0}',OrgCode:'{1}',LinkMan:'{2}',MobilePhone:'{3}',OfficePhone:'{4}',Address:'{5}',PostCode:'{6}',Remark:'{7}'}},            
    });
});

var timeout;
var vflag = false; // 标志是否查询到数据       
var GetCustInfoByName = function() {
    vflag = false;
    if ($("#txtOrgName").val() != "" && vflag == false) {
    StarSoft.UI.CRM.CustomerAdd.GetCustModelByName($("#txtOrgName").val(), <%=UserInfo.OrgId % >,
        function(data) {
            vflag = true;
            if (data.value == null || data.value == "") {

} else {
                eval(data.value);
            }
        },
        3);
    }
}

前台文本框:

<webcontrol:UserTextBox ID="txtOrgName" onblur="GetCustInfoByName();" FieldName="CustomerName" RequiredFieldType="字符校验" runat="server" CanBeNull="False" AutoCompleteType="Disabled" Width="80%"></webcontrol:UserTextBox>

OrderCustList.ashx.cs部分代码:

 public void ProcessRequest(HttpContext context)
        {
            DataSet ds = null;
            string key = null;
            context.Response.ContentType = "text/plain";
            // 必须继承IReadOnlySessionState接口,再使用Session获得登录者的UserInfo信息
            
            // 判断是那个页面传来的值
            if (context.Request.UrlReferrer.LocalPath.IndexOf("/CustomerAdd.aspx") != -1)
            {
                ds = bll.GetListOrg("  OrgName LIKE '%" + key + "%'  and ORgType in (4, 5, 6, 7, 9, 12, 13, 15) ");
                context.Response.Write(GetList(ds));
                return;
            }
            //返回ds:
            //。。
            context.Response.Write(GetList(ds));
        }

 效果图:

转载于:https://www.cnblogs.com/gawking/archive/2013/03/05/2944585.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值