三级联动相信大多数人都很好的实现过,今天我是小小的改动了下。当下拉列表里选择某一个地区时,相应的另外一个下拉列表先出现:Please Wait,0.5秒后再显示ajax获取的数据。这样用户体验稍微好一点。下面是我的js代码:
//Region&country $('#Article_code').change(function(){ var country=$('#Article_code option:selected').val(); var data={'country':country}; var url='<?php echo Yii::app()->createUrl('Manage/article/getRegion'); ?>'; if(country==0) { $('#Article_region_id option').remove(); $('#Article_region_id').append($('<option value=0>Choose Region</option>')); return false; } $.ajax({ type:'post', data:data, url:url, beforeSend:function(){ $('#Article_region_id option:first').text('Please Wait'); }, success:function(json){ window.setTimeout(function(){ var data=eval(json); var str=''; str+='<option value=0>Choose Region</option>'; if(!data.empty){ for(var i=0;i<data.id.length;i++){ str+='<option value='+data.id[i]+'>'+data.name[i]+'</option>'; } } $('#Article_region_id option').remove(); $('#Article_region_id').append(str); },500); }, dataType:'json' }); });
以上是代码,在ajax发送前,beforeSend里把第一个option里的内容修改为Please Wait,在success里调用window.setTimeout延迟0.5秒将数据显示到另一个下拉列表里。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。