2012-08-15 172 views
1

當用戶點擊時,我有一個要求從PHP變爲Javascript的變量。我有一個由查詢返回的數據數組,我需要爲單擊的元素傳遞一個ID值,以便我可以使用另一個PHP頁面通過.load填充額外的數據集。我不確定這是怎麼回事?點擊時將div變量中的PHP變量傳遞給jquery

JavaScript代碼頁:
<script type="text/javascript"> 
$(function() { 
$("#pass_userid_div").click(function() { 

    $("#another_div").load('remote_pages/get_info.php?userid=' + $GET_THE_USERID_AND_PASS_HERE); 
    }); 
}); 
</script> 
PHP代碼的頁面:
$query_str = "SELECT id, username, dateregistered FROM users"; 
$query = mysql_query($query_string) or die(mysql_error()); 

while ($results = mysql_fetch_array($query)) { 
    print "<div id='pass_userid_div'>{$results['username']}</div>"; 
    print "<div>{$results['dateregistered']}</div>"; 
} 
+0

類似''remote_pages /get_info.php?userid=''? – 2012-08-15 15:38:26

+3

你爲什麼用相同的'id'打印多個div? – CKKiller 2012-08-15 15:38:54

+0

一旦頁面發送給客戶端,就沒有'php變量'這樣的事情了。只有呈現的網頁中有什麼 - 文本/標記/數字。 – 2012-08-15 15:38:55

回答

1

爲什麼它必須是一個div?使用interactive element

PHP:

while ($results = mysql_fetch_array($query)) { 
    print "<button type='button' name='pass_userid_div' value='{$results['id']}'>{$results['username']}</button>"; 
    print "<div>{$results['dateregistered']}</div>"; 
} 

的JavaScript:

<script type="text/javascript"> 
$(function() { 
$("button[name='pass_userid_div']").click(function() { 
    $("#another_div").load('remote_pages/get_info.php?userid=' + $(this).val()); 
    }); 
}); 
</script> 

更新:如果真的必須是一個div,use a data- attribute

<div class="pass_userid_div" data-userid='{$results['id']}'… 

…$(this).data("userid") 
1
$("#another_div").load('remote_pages/get_info.php?userid=' + $GET_THE_USERID_AND_PASS_HERE, function(){ 
    $("#another_div #pass_userid_div").each(function(){ 
     var yourvar =$(this).text(); 
     // use your var 
    }) 
}); 

請不你不應該使用超過一個DIV蒙山相同的ID。使用class instread

+0

我刪除了我以前的評論,因爲你修復了它的一部分,但是這仍然依賴於'pass_userid_div',它在OP代碼中被複制並且被假定爲'#another_div'的後代。解決這個問題,我會取消我的downvote。 – kojiro 2012-08-15 15:51:24

+0

沒有注意while循環。無法獲得OP需要的哪些變量 – 2012-08-15 16:06:26

+0

更新了我的文章 – 2012-08-15 16:09:10