2013-11-24 23 views
0

我有一個搜索表單包含兩個ASPX控件,第一個是dropdownlist表示「Medicine Category」,另一個是文本框表示藥品名稱。我已經添加了一個web方法來自動完成文本框中的文本,並且它工作正常,但我想從下拉列表中選擇類別下的所有藥物(發送DropDownList的選定值),但我不知道如何使用jQuery的Ajax發送ASP.NET控件值作爲參數使用jQuery Ajax

發送ASPX控制的值,這裏的腳本:

<script type="text/javascript"> 
    $(function() { 
     $(".tb").autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        url: "../WebServices/MedicineList.asmx/FetchMedicineList", 
        data: "{ 'MedicineName': '" + 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.NameEN 
          } 
         })) 
        }, 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
         alert(textStatus); 
        } 
       }); 
      }, 
      minLength: 1 
     });   
    }); 
</script> 

和這裏的ASPX控制

<asp:DropDownList ID="ddl_AllCategories" runat="server" CssClass="required"></asp:DropDownList> 

和這裏的網絡方法:

<asp:TextBox ID="txt_MedicineName" class="tb" runat="server" MaxLength="255"></asp:TextBox> 

回答

0

您必須將當前選定的類別發送到網絡服務(並修改您的網絡服務以獲取類別參數,當然),並且您已經發送了MedicineName

var category_value = $('#ddl_AllCategories').val() 

然後過濾按類別服務器端藥:
使用類似選擇當前選定的類別。

+0

我已經試過這個但不工作,我可以以錯誤的方式發送它 – user3027444

+0

這是做到這一點的方法。如果它不起作用,你可能做錯了一些事情,但是如果沒有看到所有涉及的代碼+調試信息就很難說清楚。 – 2013-11-24 14:57:19

+0

你想讓我發佈其他問題來澄清問題嗎? – user3027444