使用jquery Ajax异步刷新 下拉框
一个下拉框
<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异步刷新 下拉框的更多相关文章
- jQuery Ajax MVC 下拉框联动
无刷新下拉框联动方法: Controllers代码 public JsonResult DH_Change(string DH_ID) { List<SelectListItem> Tea ...
- jQuery Ajax实现下拉框无刷新联动
HTML代码: @{ Layout = null; } @using DAL; @using System.Data; @{ AreaDal areaDal = new AreaDal(); stri ...
- jQuery之双下拉框
双下拉框要实现的效果,实际上就是左边下拉选择框里的内容,可以添加到右边,而右边同理.写了个简单的例子,来说明一下. 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- jQuery操作select下拉框的text值和value值的方法
1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...
- js&jquery 获取select下拉框的值、文本内容、自定义属性
js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...
- JQuery操作select下拉框
JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...
- SSM框架,在Html界面利用ajax,json,jQuery实现省市区下拉框联动
1.先生成省市区表格 2.建立实体类 3.在html画出下拉框 <select id="province"> <option value="" ...
- jQuery无限级联下拉框插件
自己编写jQuery插件 之 无限级联下拉框 因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...
随机推荐
- SpringBoot入门简介
SpringBoot诞生的背景 所有软件行业里面,如果要说商用体系,排在第一位的永远是java,因为java的体系丰富,支持度高,安全性也高 但是我们所有的开发者也不得不去忍受Java中的以下痛苦 举 ...
- VINS 估计器之优化与边缘化
VINS的优化除了添加了投影残差,回环检测残差,还有IMU的残差,边缘化产生的先验信息残差等.有些比较难理解,可参考此博客和知乎回答. void Estimator::optimization() { ...
- 三、spring的AOP
AOP的基本认识 Aspect Oriented Programming,面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 利用AOP可以对业务逻辑的各个部分进行隔离,从而 ...
- 【转载】POST/GET请求中RequestBody和RequestParam的应用场景
原文链接:https://blog.csdn.net/justry_deng/article/details/80972817 原文链接:https://www.jianshu.com/p/49819 ...
- 第十二章 存储之 Secret
1.Secret 存在意义 Secret 解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中.Secret 可以以 Volume 或者环境变量的 ...
- 使用canvas时, 如何用相对单位(rem, rpx)来适配不同机型
使用canvas的api时, 使用的都是绝对数值, 如: 方法传参是坐标位置,不带单位,如ctx.translate(10,10); 那么此时, 我就需要将rem或rpx 转换成 px; 首先, 获取 ...
- python 环境安装说明
一. 安装 python-3.6.5-amd64.exe 1. 安装完成后,设置系统环境变量 Path E:\Programs\Python\Python36; E:\Program ...
- Myeclipse 崩溃闪退 Java was started but returned exit code =-1
出现如上图所述情况的原因可能是因为虚拟机jdk和myEclipse配置文件中的vm地址发生冲突报出的错误 第一种解决办法:只需要将你jdk文件下的bin目录下的javaw.exe文件的全部路径复制到M ...
- nodejs npm 常用配置
npm install moduleNames : 安装 Node 模块.node安装分为全局模式和本地模式. npm install -g moduleName.npm install expres ...
- 【LeetCode 31】下一个排列
题目链接 [题解] 从右往左找第一个下降的位置i(即满足nums[i]<nums[i+1]); 然后在[i+1..len-1]这个区间里面找到一个最大的下标k,使得nums[k]>nums ...