首页 > 后端开发 > php教程 > ajax返回的数据,不再执行初次载入的JS,应该怎么改,先谢谢了!

ajax返回的数据,不再执行初次载入的JS,应该怎么改,先谢谢了!

WBOY
发布: 2016-06-23 13:29:51
原创
1014 人浏览过

点击一级栏目1后,

一级栏目1
变为:
一级栏目1
,

同时:id="xlm2"的li能显示二级栏目:
二级栏目1
,再点击二级栏目时,
二级栏目1
应该变为变为:
二级栏目1
才对,但是没有效果,dd没有加上样式 class="selected",

应该是$(document).ready(function()没有被执行,应该怎么改?先谢谢兄弟了!


JS:
$(document).ready(function(){   $("#select1 dd").click(function () {        bid=$(this).attr("id");        $(this).addClass("selected").siblings().removeClass("selected");	        $.ajax({             type:"GET",             url:"t.php",             data:"cid="+bid,             cache:false,             success:function(data){ 		$("#xlm2").show();                $("#xlm2").html("<dl id='select2'>"+data+"</dl>");             }         });   $("#select2 dd").click(function () {        $(this).addClass("selected").siblings().removeClass("selected");   }}
登录后复制



html:
<li class="list">   <dl id="select1">      <dd id="1">一级栏目1</dd>      <dd id="2">一级栏目2</dd>      <dd id="3">一级栏目3</dd>      <dd id="4">一级栏目4</dd>      <dd id="5">一级栏目5</dd>   </dl></li><li class="list" id="xlm2" style="display:none;"></li>
登录后复制



t.php
$cid = $_GET['cid'];$mesql=$empire->query("select * from class where classid=".$cid );while($r=$empire->fetch($mesql)){      $classname.= "<dd id=".$r[classid]." class=''>".$r[classname]."</dd>";}echo $classname; 
登录后复制



回复讨论(解决方案)

如果你的 jQuery 是 1.8.3 及以下
$("#select2 dd").live('click', function () {

如果的的 jquery 是 1.8.0 及以上
$("#select2 dd").on('click', function () {
这个写法要求 #select2 dd 是已存在的,否则应写作
$(document).on('click', "#select2 dd", function () {

哦,原来是这样,非常感谢,已经OK了,回答又快又准又好,非常感谢!谢谢!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板