2011-11-25 34 views
0

我在網上找到了這個例子,它非常好,但我想知道如何存儲(隱藏)employeeID,所以稍後可以在服務器端使用它。JQuery下拉鍵

謝謝

<script type="text/javascript"> 
    $(function() { 
     $(".tb").autocomplete({ 
      source: function(request, response) { 
       $.ajax({ 
        url: "EmployeeList.asmx/FetchEmailList", 
        data: "{ 'mail': '" + request.term + "' }", 
        dataType: "json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        dataFilter: function(data) { return data; }, 
        success: function(data) { 
         response($.map(data.d, function(item) { 
          return { 
           value: item.Email 
          } 
         })) 
        }, 
        error: function(XMLHttpRequest, textStatus, errorThrown) { 
         alert(textStatus); 
        } 
       }); 
      }, 
      minLength: 1 
     }); 
    }); 
</script> 

回答

0

自動完成了,當如果該值已經改變模糊的領域,其觸發更改事件。您需要將事件處理程序綁定到此事件,然後在該事件處理程序中設置一個隱藏的字段。

所以

$(".tb").autocomplete({ 
      source: function(request, response) { 
       $.ajax({ 
        url: "EmployeeList.asmx/FetchEmailList", 
        data: "{ 'mail': '" + request.term + "' }", 
        dataType: "json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        dataFilter: function(data) { return data; }, 
        success: function(data) { 
         response($.map(data.d, function(item) { 
          return { 
           value: item.Email 
          } 
         })) 
        }, 
        error: function(XMLHttpRequest, textStatus, errorThrown) { 
         alert(textStatus); 
        } 
       }); 
      }, 
      minLength: 1, 
      change : function (event,ui) { 
        $("#hdnEmpId").val(ui.item.value); 
      } 
     }); 

你必須弄清楚要如何實施變革的事件處理程序。你可以閱讀更多關於http://jqueryui.com/demos/autocomplete/#event-change

希望這會有所幫助!