本文介绍了Jquery实现仿易迅商城省市联动菜单的简单示例代码。 分享给大家,供大家参考。 详情如下:
运行效果截图如下:
具体代码如下:
Document
.region li{
float: left;
width: 15%;
list-style: none;
line-height: 30px;
padding: 2px 15px;
white-space: nowrap;
}
.region li a{
text-decoration:none;
font-size:14px;
}
.region li a:hover{
background-color: #5bb75b;
}
$(function(){
var provinces = ['北京', '天津', '山东', '河南', '河北', '山西', '湖北', '湖南', '江西', '浙江', '上海', '安徽', '广东', '广西', '福建', '宁夏', '重庆', '四川', '西藏', '海南', '香港', '澳门', '内蒙古', '陕西', '甘肃', '黑龙江', '辽宁', '吉林'];
var city = ['广州', '深圳', '东莞'];
var county = ['宝安', '南山', '福田', '罗湖'];
$('.address').bind('focus', function(){
var $this = $(this);
$('#addressInfo').css({
top: $this.offset().top + $this.outerHeight(),
left : $this.offset().left
}).show();
});
var $provinces_li = $('.region>ul');
$.each(provinces, function(e){
$provinces_li.append('
'+this+'');
});
var i = 0;
$('.area')
.tabs()
.on('click', '.provinces', function(){
//获取当前对象
var $this = $(this),
$tabs = $this.parents('.selectAddress'), //追加DIV
$div = $('
'),
$ul = $('
'); //追加ul
$tabs.children(':eq(0)').children(':gt(0)').remove();
$tabs.children('div:gt(0)').remove();
//each遍历,赋值
//最好是这样,code、name $ul.append('
'+this.name+'');
$.each(city, function(){
$ul.append('
'+this+'');
});
$tabs.children('ul').append('
市区');
$tabs.append($div.addClass('region').append($ul));
$tabs
.tabs( "refresh" )
.tabs('option', 'active', 1)
.data('address', $this.text());
})
.on('click', '.city', function(){
var $this = $(this),
$tabs = $this.parents('.selectAddress'),
$div = $('
'),
$ul = $('
');
$tabs.children('ul').children(':eq(2)').remove();
$tabs.children('div:eq(2)').remove();
i++;
if(i == 1){ //判断是否有下级
$.each(county, function(){
$ul.append('
'+this+'');
});
$tabs.children('ul').append('
县区');
$tabs.append($div.addClass('region').append($ul));
$tabs
.tabs( "refresh" )
.tabs('option', 'active', 2)
.data('address', $tabs.data('address')+'/'+$this.text());
}else{
//获取值并赋值至文本框中
$('.address').val($tabs.data('address')+'/'+$this.text());
$tabs.parent().hide();
}
})
.on('click', '.county', function(){
var $this = $(this),
$tabs = $this.parents('.selectAddress');
$('.address').val($tabs.data('address')+'/'+$this.text());
$tabs.parent().hide();
})
;
$(document).bind('click', function(e){
var $target = $(e.target),
addressInfo = $('#addressInfo');
if(!$target.hasClass('selectAddress')
&& $target.parents('.selectAddress').size() == 0
&& !$target.is($('.address'))
&& addressInfo.is(':visible')){
$('#addressInfo').hide();
}
});
})
源码下载:《Jquery实现仿易迅商城的省市联动菜单》
希望这篇文章对您学习javascript编程有所帮助。