即在触发地区下拉框的onchange事件时,代理商的下拉框选项也相应的改变,比如选择地区 湖南—〉长沙,那么代理商下拉框只显示长沙的代理商。

本来认为这个很好实现,但实际改起来的时候发现问题多多,主要问题是原有的地区联动是用js实现的,它的数据源是一个xml文件,当然如果下拉框是服务器端控件那么问题是很好解决的,现在是html控件一下子似乎还真有些不好改,想了几种办法实现起来都不理想,最后将思路转向用ajax来实现问题才迎刃而解,现在仔细一想,像这种情况似乎只有用ajax才能比较好的解决,如果是在地区下拉框的onchange事件里向后台进行一次提交,将地区下拉框的id传过去的话,实际上产生的回发会将地区联动下拉框重新初始化。

现在我具体谈谈这个ajax实现的过程。
首先页面当然需要定义一个下拉框的html控件。


接下来当然是定义XmlHttpRequest对象。
var xmlhttp; 
function CreateXmlHttp() 
{ 

//非IE浏览器创建XmlHttpRequest对象 
if(window.XmlHttpRequest) 
{ 
xmlhttp=new XmlHttpRequest(); 
} 
//IE浏览器创建XmlHttpRequest对象 
if(window.ActiveXObject) 
{ 
try 
{ 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
catch(e) 
{ 
try{ 
xmlhttp=new ActiveXObject("msxml2.XMLHTTP"); 
} 
catch(ex){} 
} 
} 
}

这个在我的多篇blog文章里都有阐述,就不多说了。
接下来当然是利用该对象来发送条件,获得数据,并且将获得的数据绑定到agent这个下拉框。
在地区下拉框的onchange事件里面触发函数AjaxSend();

function AjaxSend() 
{ 
//创建XmlHttpRequest对象 
CreateXmlHttp(); 
if(!xmlhttp) 
{ 
alert("创建xmlhttpRequest发生异常!"); 
return false; 
} 
//获取地区下拉框的value值,作为条件发送 
var ss=document.getElementById("a2").value.substring(0,4); 
} 
//要发送的url,UserAjax我专门用来取数据 
url="UserAjax.aspx?area=" ss; 
xmlhttp.open("POST",url,false); 

xmlhttp.onreadystatechange=function() 
{ 
if(xmlhttp.readyState==4) 
{ 
if(xmlhttp.status==200) 
{ 
//清空原下拉框 
document.getElementById("agent").options.length=0; 
//str为返回的一个字符串,形式为"0001/代理商1,0002/代理商2,0003/代理商3" 
var str=xmlhttp.responseText; 
//将该字符串分割为数组形式 
var strs=str.split(","); 
document.getElementById("agent").options.add(new Option("----------","000000")); 
for(var i=0;i

另外顺便介绍一下UserAjax接收到该地区编号后获取数据返回字符串的过程。
string Area = Request.QueryString["area"].ToString(); 
DataTable data = "生成DataTable,涉及到公司核心代码,省略" 
string aa = ""; 
for (int i = 0; i 

这样,一个比较棘手的问题用ajax就获得了完美解决,并且不会因向后台回发而导致下拉框初始化,导致选项改变,亲爱的朋友,看了这个例子,你对ajax是不是也有了
更好的认识呢?

ajax完美解决的下拉框的onchange问题的更多相关文章

  1. HTML5、Select下拉框右边加图标的实现代码(增进用户体验)

    这篇文章主要介绍了HTML5、Select下拉框右边加图标的实现代码,深度美化页面增进用户体验效果,需要的朋友可以参考下

  2. AngularJS中下拉框的高级用法示例

    这篇文章主要介绍了AngularJS中下拉框的高级用法,结合实例形式分析了AngularJS下拉框的遍历、选择、绑定、显示等功能实现方法,需要的朋友可以参考下

  3. JavaScript实现鼠标经过显示下拉框

    这篇文章主要为大家详细介绍了JavaScript实现鼠标经过显示下拉框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. 微信小程序实现简单的select下拉框

    这篇文章主要为大家详细介绍了微信小程序实现简单的select下拉框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. Vue下拉框双向联动效果的示例代码

    这篇文章主要介绍了Vue下拉框双向联动效果,实现联动,大家都知道在vue的页面中,想要实现多个<el-select 下拉框的值动态改变,必须要调用@change 函数,具体操作方法跟随小编一起学习下吧

  6. yii2带搜索功能的下拉框实例详解

    带搜索功能下拉框在项目中经常会用到,下面小编把实现代码分享到脚本之家平台,供大家参考

  7. 可输入文字查找ajax下拉框控件 ComBox的实现方法

    下面小编就为大家带来一篇可输入文字查找ajax下拉框控件 ComBox的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. Javascript select下拉框操作常用方法

    Javascript操作下拉框的常用方法,在js与表单控制中,经常用的到。

  9. jQuery实现鼠标经过购物车出现下拉框代码(推荐)

    在做web前端项目开发的时候,使用jquery库的感触颇多,下面小编通过写购物车的下拉框做法,把我的想法给大家分享一下,感兴趣的朋友可以参考下

  10. 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框

    这篇文章主要介绍了自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框 的相关资料,需要的朋友可以参考下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部