关于省级的
function init() {
$("select[name='ProvId']").change(function () {
var selectedProvince = $(this).val();
ShowCityWithSelectedProvince(selectedProvince);
});
}
function ShowCityWithSelectedProvince(province) {
$.ajax({
url: "@Url.Action("ShowCity")",
data: { provinceId: province },
async: false,
success: function (data) {
$(".city").empty().html(data);
}
});
}
这样写,但是市级的出现之后,我的change事件一直没有被触发,所以县级的一直就没出现。请问那个触发事件要怎么写好呢
我有jq三级联动小demo,关注我博客传给你,保证你会,不要感谢我,请叫我雷锋
你都没给市级下拉加change事件,怎么会出现县级呢?
我写了,没发上来,你看看市级触发这个有啥问题
function area() {
$("select[name='CityId']").change(function () {
var selectedCity = $(this).val();
ShowAreaWithSelectedCity(selectedCity );
});
}
function ShowAreaWithSelectedCity(CityId ) {
$.ajax({
url: "@Url.Action("ShowArea")",
data: { cityId: CityId },
async: false,
success: function (data) {
$(".area").empty().html(data);
}
});
}
@NeXT1995: 看着真累,你应该以插入代码的形式插入代码。。。
另外,那看这个意思至少你在页面加载完,也就是在$(document).ready(function(){});这里面要调用一下init()跟area了?你要明白,change(function(){}),仅仅是加上事件,并不是触发事件。。。
@顾晓北: 不好意思刚起床,所以还没打开电脑,刚才就直接敲代码上去了。 $(document).ready(init, area);我有先加了这一句了。
@顾晓北:
$(document).ready(init); //当网页上的DOM都载入时,第一层下拉选单也呈现出来了 //↓显示第二层下拉选单,没加这两段↓的话,第一次网页加载时第二层下拉选单不会出现 var FirstLevel = $("select[name='ProvId']").val();//第一层选择的值 ShowCityWithSelectedProvince(FirstLevel); var AreaLevel = $("select[name='CityId']").val(); ShowAreaWithSelectedCity(AreaLevel); function init() { $("select[name='ProvId']").change(function () { var selectedProvince = $(this).val(); ShowCityWithSelectedProvince(selectedProvince); var CityId = $("select[name='CityId']").val(); ShowAreaWithSelectedCity(CityId); $("select[name='CityId']").change(function () { var selectCity = $(this).val(); ShowAreaWithSelectedCity(selectCity); }); }); }