日期:2014-05-16  浏览次数:20327 次

jQuery中toggle为什么点第一次没用第二次才有用
function getJosnData(){
  $("#getLogInfo").toggle(
  function(){
  $.ajax({
  url:"xxxxxxx.do?actionFlag=abc&randomFlag="+new Date().getTime(),
  type: "POST",
  async: false ,
  dataType: "json",
  data: { applyFormID:$("#poFormID").val()},
  success: function(data){  
  //调用创建表和填充动态填充数据的方法. 
  alert('success');
createShowingTable(data)
  },
  error: function() 
  {
alert("<bean:message key="sys.err.unknowerror"/>");
}
});
  },
  function(){
  $("#dataTable").html("");
  }
  );
  }

------解决方案--------------------
你是
<input type="button" id="getLogInfo" onclick="getJosnData()">这样调用?

是的话
去掉onclick="getJosnData()"

直接
<input type="button" id="getLogInfo">

$("#getLogInfo").toggle(
function(){
$.ajax({
url:"xxxxxxx.do?actionFlag=abc&randomFlag="+new Date().getTime(),
type: "POST",
async: false ,
dataType: "json",
data: { applyFormID:$("#poFormID").val()},
success: function(data){
//调用创建表和填充动态填充数据的方法. 
alert('success');
createShowingTable(data)
},
error: function() 
{
alert("<bean:message key="sys.err.unknowerror"/>");
}
});
},
function(){
$("#dataTable").html("");
}
);
------解决方案--------------------
探讨

引用:
你是
<input type="button" id="getLogInfo" onclick="getJosnData()">这样调用?

是的话
去掉onclick="getJosnData()"

直接
<input type="button" id="getLogInfo">

$("#getLogInfo").toggle(
……

------解决方案--------------------
探讨

鼠标点击第一次事件没有生效,点击第二次事件才生效

------解决方案--------------------
探讨

我有用alert()放在第一个function()前面没弹出对话框,第二次点击才有弹出

------解决方案--------------------
没有这种事情,你debug看下吧。这里看不出什么东西
------解决方案--------------------
LZ把两个function调过来试试