由于回发问题,我试图摆脱服务器端控制。我想要两个从数据库填充的选择框。当页面加载时,我将拥有一个已经从数据库中预先填充的组合框:
<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 来完成我的要求吗?预先感谢您的帮助!
最佳答案
我也遇到了同样的问题,但是在互联网上找到了一些资源。
首先制作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;
}
}
}
好吧,这会对您有所帮助,或者您还有其他页面:
关于javascript - 使自动完成功能适用于下拉列表,并让它填充另一个下拉列表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21741509/