Asked May 11th, 6:32 AM 79 0 4
  • 79 0 4
+1

Làm cách nào có thể nhận được giá trị từng hàng của phần tử bằng jQuery?

Share
  • 79 0 4
$qry = $conn->query("SELECT * FROM posts");

while($row=$qry->fetch_assoc()) { ?>
	<div class="test" id="postid" data-id="<?php echo $row['id'] ?>">
<?php } ?>

<script>
	$(function() {
		$('.test').phanhoi({layid: postid });
	});	
</script>

Làm cách nào để lấy từng row data-id gán vào postid ? Mình đã thử
$('.test').phanhoi({layid: $('#postid').attr('data-id') });
nhưng chỉ nhận được 1 ID đầu tiên cho tất cả.
Xin cảm ơn

Avatar Nguyen Quang Phu @quangphunguyen
May 11th, 6:50 AM

bạn viết thế kia thành ra có nhiều id là postid trùng nhau quá

0
| Reply
Share
Avatar Phong Nguyen @haiquacau
May 11th, 7:05 AM

@quangphunguyen Nhưng nếu mình lấyclass="test" thì cũng chỉ được 1 giá trị của row đầu tiên trong while, $('.test').attr('data-id') bạn có thể hướng dẫn giúp mình không ? Thx

0
| Reply
Share
Avatar PHAM HIEU @pviethieu
May 11th, 7:09 AM

@haiquacau ở dưới mọi người đã trả lời r đấy b !

0
| Reply
Share
Avatar Nguyen Quang Phu @quangphunguyen
May 11th, 7:48 AM

@haiquacau

$(function () {
	$('.test').each(function() {
  	console.log($(this).attr("data-id"))
  })
})
0
| Reply
Share

4 ANSWERS


Answered May 11th, 6:44 AM
0

Bạn đặt cái id của div đấy là id="<?php echo 'postid'. $row['id'] ?>" thử xem b. Khi đấy mình sẽ gắn id của div có định dạng là postid+id thì sẽ lấy đc từng row riêng biệt b ạ !

Share
Answered May 11th, 6:53 AM
0
$(function () {
	const listId = $('.test').map((key, val) => $(val).attr('data-id'));
  console.log(listId)
})

Bạn có thể search với keyword: jquery get attribute

Share
Answered May 11th, 7:04 AM
0
$(".test").each(function() {
$(this).data('id')
});

bạn thử xem có ok không

Share
Answered May 11th, 7:53 AM
0

Bạn each từng thằng có class .each rồi lấy ra data attribute tương ứng, id chắc không cần thiết trong trường hợp này

$(function () {
	$('.test').each(function() {
  	console.log($(this).attr("data-id"))
  })
})
Share
Viblo
Let's register a Viblo Account to get more interesting posts.