javascript - 使自动完成功能适用于下拉列表,并让它填充另一个下拉列表的内容

标签 javascript jquery html asp.net ajax

由于回发问题,我试图摆脱服务器端控制。我想要两个从数据库填充的选择框。当页面加载时,我将拥有一个已经从数据库中预先填充的组合框:

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

好吧,这会对您有所帮助,或者您还有其他页面:

How to fill Dropdown from c# Other page

关于javascript - 使自动完成功能适用于下拉列表,并让它填充另一个下拉列表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21741509/

相关文章:

javascript - Bootstrap PopConfirm 弹出窗口不会在溢出 :hidden 的 <div> 上方显示

javascript - Angular2 显示数据示例不起作用

javascript - 递归地在 ul 列表中显示 JavaScript 对象

javascript - 如何仅使用 sequelize-cli 播种一个文件?

jquery - 如何将 jQuery 函数组合成更小的脚本

javascript - Tinymce - 加载本地文件内容到Tinymce实例

html - 如果设置了元素的宽度,为什么 float 属性不起作用?

JavaScript 函数指针

javascript - 使用选择框编辑表格

javascript - 如何在 React、Riot 2.0 中使用 jQuery 插件