2014-02-12 80 views
1

我想擺脫服務器端控件,因爲這是回發問題。我想要有兩個從數據庫填充的選擇框。頁面加載時,我將有一個下拉框,將已經從數據庫中預先填充:使自動完成工作在下拉列表中,並使其填充另一個下拉列表的內容

<select ID="cboCustomers"> 
    <option value="0">--Select a Sold-to customer--</option> 
    <option value="1">Customer1</option> 
    <option value="2">Customer2</option> 
    <option value="3">Customer3</option> 
    <option value="4">Customer4</option> 
</select> 

<select ID="cboShipTo"> 
    <option value="0">--Select a Ship-to customer--</option> 
</select> 

第一個下拉應該自動完成啓用,當選擇的值,它應該使用AJAX來填充第二降下拉列表中包含可供所選售罄客戶使用的交運客戶。我有一個對象,將採取參數並返回適當的數據。我的問題是如何完成上述。你可以提供一些示例代碼或jsFiddle來完成我所要求的嗎?在此先感謝您的幫助!

回答

0

我有同樣的問題,但尋找互聯網找到了一些資源。

首先進行AJAX一句:

jQuery的

$('#cboCustomers').onchange(function(){ 
var $valueTofound = $(this).val(); 
$.ajax({ 
type: "POST", 
url: "Your URL", 
data: Json.stringify({valueTofound : $valueTofound }), //You will pass data to code behind 
contentType: "application/json; charset=utf-8", 
dataType: "json", 
success: function (data) { 
$.each(jQuery.parseJSON(data.d), function() { 
     $("#ddlRecords").append($("<option> </option>").val(this['ID']).html(this['Name'])); //fill the dropdown 
}); 
}, 
error: function (msg) { 
//error 
} 
}); 
}); 
}); 

代碼隱藏C#

[WebMethod] 
    public static string GetResultset(string valueTofound) 
    { 
     DataTable dataTable = new System.Data.DataTable(); //create a DataTable 
     using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString)) 
    { 
     try 
     { 
     SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("DO your Select", sqlConnection); 
     sqlDataAdapter.Fill(dataTable); //Fill the Datatable 
     return JsonConvert.SerializeObject(dataTable); //return to Jquery 
     } 
     catch (Exception ex) 
     { 
     throw ex; 
     } 
    } 
} 

那麼這將幫助你,或者你有一些其他的網頁:

How to fill Dropdown from c# Other page

+0

謝謝@freak_droid,但在第一個下拉列表中輸入時自動完成/ autofind如何? –

+0

@MichaelMahony我認爲是一樣的,因爲onchange事件是當你的類型或更改選項時觸發的,在我的情況下,我使用的是沒有完成的事情,但我很確定是以同樣的方式。 –

+0

我的錯誤甚至是keyup或按鍵 –

相關問題