jquery - 仅当 '/' 是自动完成的最后一个字符时,如何调用 Web 方法?

标签 jquery asp.net vb.net jquery-autocomplete

每次输入字符时,我的自动完成功能都会调用 Web 方法。我想在输入末尾带有“/”值的字符时调用。

例如:“a/”

我的自动完成功能:

<script type="text/javascript">

function pageLoad(sender, args) {
    $(function () {
        $("#<%=txtCu.ClientID %>").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: '<%=ResolveUrl("~/Webservice.asmx/GetCus") %>',
                    data: "{ 'prefix': '" + request.term + "'}",
                    dataType: "json",
                    type: "POST",
                    async: false,
                    mustMatch: true,
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                label: item.split('^')[0],
                                val: item.split('^')[1]
                            }
                        }))
                    },
                    error: function (response) {

                    },
                    failure: function (response) {

                    }
                });
            },
            select: function (e, i) {
                $("#<%=hdnCr.ClientID %>").val(i.item.val);
                if (i.item.val == "No Records Found") {
                    $("#<%=hdnCr.ClientID %>").val(-1);
                    document.getElementById('<%=txtCu.ClientID%>').value = "";
                    return false;
                }
                checkddlcustomerinfo();
            },
            minLength: 0
        }).bind('focus', function () { $(this).autocomplete("search"); })
        .data("autocomplete")._renderItem = function (ul, item) {

            return $("<li></li>").data("item.autocomplete", item).append("<div><table><tr><td width='200px'>" + item.label + "</td>" + "<td width='110px'>" + item.val.split('~')[6] + "</td>" + "<td>" + item.val.split('~')[4] + "</td></tr></table></div>").appendTo(ul);

         };
    });
}

请帮帮我。

最佳答案

这个怎么样

把这个放在后面 $(function(){...

var enterFlag =  false;

$("#<%=txtCu.ClientID %>").on("keypress",function(e){
      if(e.keyCode == 13 || e.which == 13){
           enterFlag =  true;
      }
      else
      {
           enterFlag = false;
      }
});

这会出现在您的自动完成事件中

if(request.term.indexOf("/") == (request.term.length-1) && enterFlag)
{
                 var term = request.term.slice(0,-1);

                 $.ajax({
                    url: '<%=ResolveUrl("~/Webservice.asmx/GetCus") %>',
                    data: "{ 'prefix': '" + term + "'}",
                    dataType: "json",
                    type: "POST",
                    async: false,
                    mustMatch: true,
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                label: item.split('^')[0],
                                val: item.split('^')[1]
                            }
                        }))
                    },
                    error: function (response) {

                    },
                    failure: function (response) {

                    }
                });

}

关于jquery - 仅当 '/' 是自动完成的最后一个字符时,如何调用 Web 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23856190/

相关文章:

vb.net - WCF 未绑定(bind)到 TCP 端口(通过 netstat -a 检查)

sql - SQL 表中的创建日期列

javascript - easyzoom jquery 插件出现问题

c# - RequiredFieldValidater 到文本框

c# - IEventHandler 能否返回 null 以外的任何内容?

PHP ASP 分享会

javascript - 无法重新加载页面

javascript - 如何更改 select2 中的占位符?

javascript - 在没有文本对齐中心的情况下将动画居中对齐

mysql - 在网页上显示来自数据库的表格