0

单击工具提示时,我会触发以下功能。这是一个ajax民意调查。

页面上可能有许多工具提示,并且可能需要访问从服务器检索到的数据不止一个。

我想要实现的是让这个投票作为一个实例运行——所以如果用户点击不同的工具提示,投票就会停止,而不是被复制。

如果您能提供帮助将不胜感激。

谢谢

function doConversationsAjaxLongPoll(tablename){

clientSubmit = new Object;

// HERE WE'RE GOING TO GET A LIST OF THE ROWIDS THAT WE NEED TO POLL FOR, MAKE AN OBJECT OUT OF THEM. DO THIS BY LOOKING AT WHICH //TOOLIPS HAVE CLASS OPEN
var tooltips = [];
$('.tooltipOpen').each(function(index){
    tooltips.push($(this).data('idrow'))
})

console.log("tooltips length: " + tooltips.length)
    if(tooltips.length==0){
//      console.log("tooltip length is 0 so we're returning false")
        return false
    }

clientSubmit.OpenConversations = tooltips
clientSubmit.tablename = tablename
clientSubmit.CurrentData = $('body').data('conversations')

console.log(clientSubmit)

$.ajax({
  type: 'POST',
  url: '/conversations.php?loadNew=1',
  data: clientSubmit,
  timeout: 25000,
    success: function(data){
      console.log('success')
      data=JSON.parse(data)
      console.log(data)
      $('body').data('conversations', data)

    },
    complete: function(status, jqXHR){
    if(tooltips.length==0){
    //  console.log("tooltip length is 0 so we're returning false")
        return false
    }
    else
    {
      doConversationsAjaxLongPoll(tablename);
    }
    }
});
updateConversations()
}
4

1 回答 1

0

我不怀疑有更好的方法来做到这一点,但我通过点击函数生成的随机数解决了这个问题,存储在 $('body').data('random') 中传递给 poll 函数。当 poll 函数循环时,它会检查它传递的随机数是否与 data-random 中的随机数匹配,如果不匹配则返回 false。

于 2013-09-13T21:05:06.110 回答