PDA

View Full Version : Truyền tham số trong Jquery



rekcah
25-12-2008, 14:14
Chào các bác, hôm nay em muốn hỏi cách truyền tham số cho hàm ở Jquery. Mục tiêu của code em như sau:

Khi click vào div với id= tintuc thì tải dữ liệu đã xử lý của file news.php vào div có id là content.
Tiếp theo, khi click vào 1 link tin tức nào đó, vẫn dùng jquery load file news.php?act=view&id=[id tin]

1. Có 1 div id là Tin tức
<div id="tintuc">Tin tức</div>
2. 1 Div id là content
<div id="content">Loading...</div>
3. Jquery khai báo như sau


$("#tintuc").click(function() {
$("#content").load("news.php?act=list");
});


Vậy khai báo biến ở Jquery thế nào khi em click vào link dạng

<a href="javascript:void(0)" onclick="post_view(1)">Text</a>

Để truyền tham số ID bài viết vào hàm post_view() để lấy dữ liệu và trả về cho div có id là content?
Em khai báo


function post_view(id){
$("#content").load("news.php?act=view&id="+id);
}


Nhưng không được.
<*kakalot*>

Thanh duc
25-12-2008, 19:20
số 1 để trong đấu ngoặc đơn xem

rekcah
26-12-2008, 19:31
Cảm ơn nhưng thêm dấu ngoặc đơn cũng không được. Ai làm cái này rồi xin chỉ giúp với.
<*kakalot*>

chimtrum
26-12-2008, 20:48
Bạn đang truy vấn dữ liệu từ phía server thì bạn có thể xuất ID trực tiếp ra HTML luôn. Ví dụ trên trang news.php bạn có thể biết được id của mẩu tin đó nên có thể làm như sau (ví dụ PHP)

<a href="javascript:void(0)" onclick="post_view(<?= $id ?>)">Text</a>

rekcah
26-12-2008, 21:28
Cảm ơn chimtrum, mình biết làm sao để xuất ID ra rồi. Cái mình hỏi là làm sao truyền nó vào hàm của Jquery để xử lý.
<*kakalot*>

[=========> Bổ sung bài viết <=========]

Việt Nam khéo thua trận này. Up lên cái nào
<*kakalot*>

hieuhiti
02-12-2011, 16:27
Mình cũng chỉ mới tập tành Jquery, bác nào biết cách khai báo biến của nó chỉ giùm mình xíu

ghetlamminh
03-12-2011, 14:14
link thẻ a vẫn để bình thường

<a href="news.php?act=view&id=<?php echo $id;?>">nội dung</a>
rồi lấy jquery xử lý

$('.news a').click(function(){
var toLoad = $(this).attr('href')+'';
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href') .length-0);
$('#content').load(toLoad,function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
}
});
return false;
});