JQuery Slide toggle在第一次使用后不能与动态绘制的数据(通过ajax)一起使用

我有一个基于类别的问题列表,一旦用户点击类别链接就需要打开/关闭。 类别和问题通过ajax获得。 它第一次工作正常,但当我点击其他选项卡然后回来它不再工作。

这是我的代码:幻灯片切换附加到触发器,并显示类别和问题附加到类disp 。 任何帮助,将不胜感激。 滑块快速打开和关闭。

 jQuery(function() { $(".trigger1").live("click",function(){ var str = $(this).find("span.imgplus").text(); if (str.indexOf("+") >= 0) $(this).find("span.imgplus").html("- "); if (str.indexOf("-") >= 0) $(this).find("span.imgplus").html("+ "); $(this).next("div.dispnone").slideToggle("slow"); }); }); $(".disp").click(function(){ var inputData = { usrid:$('#usrid').val(),buddyId:$('#qstbuddyid').val()}; var qStr = ''; $.getJSON("questions.json", inputData, function(response){ var qlist = response.questModel.addQuestions; var str = ''; $.each(qlist,function(key,value){ str += '
+  '+key+'

 

'; str+= '
'; for(var i=0; i<value.length;i++){ var chk= ''; if((value[i].isAdded)=='Y') { chk = "checked" } str += ''+value[i].questDesc+''+value[i].questCategory+'
'; } str+= '
'; }); $("#qadd").empty(); $("#qadd").html(str); });

这是我的HTML:

  
<c:forEach items="${questModel.addQuestionsByCategory}"
+
 
 ${entry.key}


<input class="chkd" type="checkbox" id = "${item.questId}" />    ${item.questDesc} ${entry.key}
developed in future.
developed in future.

使用.live().on()方法而不是.on() .click()

从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。 旧版jQuery的用户应该使用.delegate()而不是.live()。