??citychange(".provincedata", ".citydata"); ???????citychange(".citydata", ".areadata"); ???????function citychange(change, add) {//改变的dom ?插入的dom ???????????$(change).change(function () { ???????????????var code = $(change).find("option:selected").attr("data-code"); ???????????????var str = Get_lsdata("code" + code); //拿到缓存中的数据 ???????????????var obj = $(this);-------------------------------------------------------------在这个位置把this给到一个变量中 ???????????????if (str != null && str != "") { ???????????????????$(this).siblings(add).html(str); ???????????????} else { ???????????????????$.ajax({ ???????????????????????url: "/SystemManageAction/GetCityByProvince", ???????????????????????type: "post", ???????????????????????dataType: "json", ???????????????????????data: { pcode: code }, ???????????????????????success: function (data) { ???????????????????????????if (data.result == 1) { ???????????????????????????????var str = ""; ???????????????????????????????var data = JSON.parse(data.data); ???????????????????????????????for (var i = 0; i < data.length; i++) { ???????????????????????????????????str += " <option ??data-code=" + data[i].Code + ">"; ???????????????????????????????????str += data[i].Name; ???????????????????????????????????str += " </option >"; ???????????????????????????????} ???????????????????????????????Set_lsdata("code" + code, str);//缓存字符串 ???????????????????????????????$(obj).siblings(add).html(str); ?????-------------------------此处如果是$(this)则代表的是ajax这个对象 ???????????????????????????} else { ???????????????????????????????alert("获取信息失败,请刷新再试!") ???????????????????????????} ???????????????????????}, ???????????????????????error: function () { ???????????????????????????alert("服务器异常!") ???????????????????????} ???????????????????}) ???????????????} ?????????????????????????}) ???????}
关于Ajax中this失效
原文地址:http://www.cnblogs.com/C-dashazi/p/7476668.html