一个下拉框

<label>产品类型:</label>
<select id="protype" name="protype" onchange="getNameList()">
<option value="">--请选择--</option>
</select>

响应上一个下拉框的结果

的另一个下拉框

<label>产品名称:</label>
<select id="proname" name="proname">
<option value="">--请选择--</option>
</select>

引入jquery包

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

异步刷新代码

function getNameList() {
var id = $('#protype').val();
if (id === "") {
$('#proname').html('');
var options = '';
options += '<option value="">--请选择--</option>';
$('#proname').append(options);
return;
}
var obj = { id: id };
AjaxCall('/Home/GetProList', JSON.stringify(obj), 'POST').done(function (response) {
if (response.length > 0) {
$('#proname').html('');
var options = '';
options += '<option value="">--请选择--</option>';
for (var i = 0; i < response.length; i++) {
options += '<option value="' + response[i].Value + '">' + response[i].Text + '</option>';
}
$('#proname').append(options); }
}).fail(function (error) {
$('#proname').html('');
var options = '';
options += '<option value="">--请选择--</option>';
$('#proname').append(options);
});
}
function AjaxCall(url, data, type) {
return $.ajax({
url: url,
type: type ? type : 'GET',
data: data,
contentType: 'application/json'
});

后台响应代码

        /// <summary>
/// 用于处理异步刷新下拉框
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public ActionResult GetProList(string id)
{
List<SelectListItem> elems = null;
if (string.IsNullOrEmpty(id))
elems = null;
else
{
string filePath = Server.MapPath("/App_Data/SimpleData.xml");
string filter = string.Format("/DD/DItems[@DValue='{0}']", id);
elems = GetListByXpath(filePath, filter);
}
return Json(elems, JsonRequestBehavior.AllowGet);
}

总结 :

重点在于使用ajax异步post成功之后,处理服务器返回来的数据

使用jquery Ajax异步刷新 下拉框的更多相关文章

  1. jQuery Ajax MVC 下拉框联动

    无刷新下拉框联动方法: Controllers代码 public JsonResult DH_Change(string DH_ID) { List<SelectListItem> Tea ...

  2. jQuery Ajax实现下拉框无刷新联动

    HTML代码: @{ Layout = null; } @using DAL; @using System.Data; @{ AreaDal areaDal = new AreaDal(); stri ...

  3. jQuery之双下拉框

    双下拉框要实现的效果,实际上就是左边下拉选择框里的内容,可以添加到右边,而右边同理.写了个简单的例子,来说明一下. 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  4. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  5. jQuery操作select下拉框的text值和value值的方法

    1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...

  6. js&jquery 获取select下拉框的值、文本内容、自定义属性

      js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...

  7. JQuery操作select下拉框

    JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...

  8. SSM框架,在Html界面利用ajax,json,jQuery实现省市区下拉框联动

    1.先生成省市区表格 2.建立实体类 3.在html画出下拉框 <select id="province"> <option value="" ...

  9. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

随机推荐

  1. mysql控制台的一些技巧,显示,输入换行,语法正则等

    注释: 以/**注释内容**/ mysql> /**列出所有的数据库**/ show databases; +--------------------+ | Database | +------ ...

  2. 安装gmpy2

    本来只想做个RSA的题,结果环境就搭了好久 首先想用 pip install gmpy2 发现缺东西,要安装gmp,mpfr,mpc 安装: mkdir -p $HOME/src mkdir -p $ ...

  3. db2备份与恢复

    备份数据库: 离线备份 1.连接至数据库: db2 connect to test user db2admin using db2admin 2.显示数据库应用状态 db2 list applicat ...

  4. System.Net.Mail.SmtpException:不允许使用邮箱名称.

    使用SmtpClient发送邮件的时候,出现了如题错误. 解决方案: 将  SmtpClient.UseDefaultCredentials  属性设置为 true . 官方文档说明: Some SM ...

  5. 【转载】Elasticsearch--java操作之QueryBuilders构建搜索Query

    原文地址:https://www.cnblogs.com/pypua/articles/9459941.html package com.elasticsearch; import org.elast ...

  6. USB hub串口绑定

    方式一 1.查看串口信息 udevadm info /dev/ttyUSB0 2.创建配置文件 sudo vi /etc/udev/rules.d/com_port.rules ACTION==&qu ...

  7. PCA revisit

    都知道PCA可以做降维,那它为什么可以降维,究竟是怎么降维的呢? 1. 为什么我们要降维? 我们的样本数据好好的,为什么要去做降维,第一个要想清楚这个问题. 也许你是要训练一个分类器,觉得当前特征维度 ...

  8. SpringMvc获取前端的数据@RequestBody请求体/@PathVaribale/@RequestParam【支持Ajax】

    一.@RequestBody请求体 注意请求体只有form表单才有,而对于链接来说不使用 1).在Controller中写 @RequestBody String body是基本用法 另外可以封装对象 ...

  9. 21.Semaphore信号量

    Semaphore是一种基于计数的信号量.它可以设定一个阈值,基于此,多个线程竞争获取许可信号,做自己的申请后归还,超过阈值后,线程申请许可信号将会被阻塞.Semaphore可以用来构建一些对象池,资 ...

  10. nginx支持webSocket ws请求

    服务端webSocket的java配置文件: @Override public void registerStompEndpoints(StompEndpointRegistry registry) ...