大佬教程收集整理的这篇文章主要介绍了html5 – jQuery改变另一个,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
状态和城市的值不会被硬编码,而是从Web服务传递的值生成.
要生成的选项列表应该像这样工作:如果用户从< select id =“state”>中选择状态选定的值将传递给Web服务以检索列表以生成< select id =“city”>对于城市.
我真的不确定如何实现这一点.有人可以告诉我吗?
$(function(){ // populate the states list from Ajax $.ajax( { url:"/listStates",type:"GET",success:function( data ) { var statesList = data; if ( typeof(data) == "string" ){ statesList = JSON.parse(data); } $.each( statesList,function( index,state ){ $("#state").append($("<option></option>",{value:state.value,text:state.label}); }); },error:function( result ) { console.log(["error getting states",result]); } }); // register on state list change $("#state").change( function(){ // on change dispatch an AJAX request for cities and populate cities $.ajax({ url : "/listCities",data : {"state": $("#state").val() },type:'GET',success:function( data ) { var citiesList = data; // assuming list object if ( typeof(data) == "string"){ // but if string citiesList = JSON.parse( data ); } $("#city").empty(); $.each(citiesList,function(index,city){ $("#city").append($("<option></option>",{"value":city.value,"text":city.label})); } },error:function( result ){ console.log(["error",result]); } }) });
这可以让你开始,但我没有遵循lint最佳做法.
走过去
>我在具有id状态的select上注册“change”事件.
>当触发更改时,我调用Ajax请求到位置“/ listCities”
>我假设使用“GET”方法调用此位置
>我传递当前选中的状态 – 因此服务器将知道要列出的城市.
>如果Ajax通过错误,我将错误记录到控制台.
>如果Ajax成功,我将使用id“city”填充select,其中包含每个城市和标签的值的选项.
>您有一个期望状态的路线GET / listCities.
>该路线的响应是一个JSON,其中包含每个城市的值和标签列表.像这样的东西:
[{value:“AM”,label:“Amsterdam”},….]
您可能需要阅读的有关此示例的唯一内容是:
> JQuery Ajax Calls
> Best Practice To Populate A List With JQuery
以上是大佬教程为你收集整理的html5 – jQuery改变另一个全部内容,希望文章能够帮你解决html5 – jQuery改变另一个所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。