2013-02-13 47 views
1

我試圖通過onclick傳遞一些值,這對我來說是如此之快。但我需要使用某種「實時」單擊,並且正在研究.on()或.delegate()。但是,如果我做了其中的任何一項,那麼在followme()之內傳遞這些值似乎有點難以得到。有沒有我沒有看到的某種方法?jQuery PHP傳遞函數內的值vs實時點擊?

<div class='btn btn-mini follow-btn' 
     data-status='follow' 
     onclick="followme(<?php echo $_SESSION['user_auth'].','.$randId;?>)"> 
      Follow 
    </div> 

function followme(iduser_follower,iduser_following) 
{ 

     $.ajax({ 
     url: '../follow.php', 
     type: 'post', 
     data: 'iduser_follower='+iduser_follower+'&iduser_following='+iduser_following+'&unfollow=1', 
     success: function(data){ 
       $('.follow-btn').attr("data-status",'follow'); 
       $('.follow-btn').text('Follow'); 
      } 

     }); 

} 

正如你所看到的,它更容易將值從PHP傳遞給jQuery ......還有另一種方法嗎?

+1

爲什麼你需要從PHP傳遞到jQuery的時候你已經知道在登錄用戶什麼來代替呢?您可以直接使用PHP進行處理。 – 2013-02-13 08:11:47

回答

2

您可以將更多的數據值,你知道有什麼用已登錄,所有你需要的是通過誰遵循:

<div class='btn btn-mini follow-btn' 
    data-status='follow' 
    data-who='<?php echo $randId; ?>' 
    id='followBTN'> 
     Follow 
</div> 

<script> 
    $('#followBTN').on('click', function(){ 
     $.ajax({ 
      url: '../follow.php', 
      type: 'post', 
      data: { 
       iduser_following: $(this).attr('data-who') 
      }, 
      success: function(data){ 
       $('.follow-btn').attr("data-status",'follow'); 
       $('.follow-btn').text(data.text); 
      } 

     }); 
    }); 
</script> 

您可以處理$_SESSION['user_auth']直接從PHP的狀態,有不需要你在jQuery中傳遞它們。當您插入on點擊事件時,請確保document已準備就緒。

+0

這是一個比我的更好的答案,並且還顯示了更好的數據傳遞方式(仔細查看ajax的數據),恭喜! – Chococroc 2013-02-13 08:24:31

+0

是有道理的,謝謝! – hellomello 2013-02-13 08:27:59

1

只使用jquery'on'事件。將一個名爲data-session的新屬性附加到div,然後使用.attr方法檢索它。你有例子波紋管向您展示與數據警報,你就必須與您的代碼

<html> 
<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
     $(document).on('click', '#follow-me-button', function(){ 
      alert($(this).attr('data-session')); 
     }) 
     }) 
    </script> 
</head> 
<body> 
    <div id="follow-me-button" class='btn btn-mini follow-btn' data-status='follow' data-session ="MY-SESSION-DATA-FROM-PHP"> 
      Follow 
    </div> 
</body> 
</html> 
相關問題