如何在按钮单击时填充自动完成中的值? [英] How to select value from autocomplete when populated on button click?

查看:98
本文介绍了如何在按钮单击时填充自动完成中的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带自动填充功能的文本框。还有一个按钮,在按钮点击时填充自动完成功能。但是我可以从自动完成中选择任何值。



这是我的自动完成功能代码。

I have a textbox with autocomplete feature. And a button which populates autocomplete on button click. but I am uable to select any value from autocomplete.

Here is my code for autocomplete function.

  <script type="text/javascript">

function pageLoad(sender, args) {
$(function () {
  $("#<%=txtCu.ClientID %>").autocomplete({
      source: function (request, response) {
       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) {

               }
            });
         };
       },
      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);

     };
 });



按钮点击事件:


Button click event:

    $(document).on("click","btn",function(e){
     e.preventDefault();
     $("#<%=txtCu.ClientID %>").autocomplete("search", "");
     $("#<%=txtCu.ClientID %>").autocomplete("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();
       }
     );
});

$(document).on('click', function(e){ 
    var target = $(e.target);
    if(target.attr("id") != "txtCu" && target.attr("class") != "btn")
    {
       $('.ui-autocomplete').hide();

    }
});

推荐答案

function (){


#<%= txtCu.ClientID %>)。autocomplete({
source: function (request,response){
if (request.term.indexOf( /)== (request.term.length-1)&& enterFlag)
{
var term = request.term.slice( 0 , -1)
("#<%=txtCu.ClientID %>").autocomplete({ source: function (request, response) { if(request.term.indexOf("/") == (request.term.length-1) && enterFlag) { var term = request.term.slice(0,-1)


.ajax({
url:' < ;%= ResolveUrl(〜/ Webservice.asmx / GetCus)%>'
数据: {'prefix':' + term + '}
dataType: json
类型: POST
async: false
mustMatch: true
contentType: application / json; charset = utf-8
成功:功能(数据){
回复(
.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(


这篇关于如何在按钮单击时填充自动完成中的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆