1
그래서 블로그를 루프에서 데이터베이스에서 가져 오도록 설정했습니다. 각 게시물 (#post_)은 한 쌍의 라디오 버튼과 결합됩니다. 라디오 버튼이 선택되면, ajax는 값이 내 데이터베이스에 저장되는 check.php에 값을 보냅니다. 반환 된 html이 #Message_에 표시됩니다.jQuery 특정 라디오 버튼 값을 선택했을 때 div를 다른 div로 표시합니다.
좋아요 라디오 버튼을 선택했을 때만 해당 div의 오른쪽 상단 모서리에 div (#Message_)가 나타납니다.
이것은 현재 라디오 버튼이 선택되었을 때 #Message를 표시하지만 #post 아래에만 표시하는 코드입니다. 루프 안에 앉아,
<div id="content">
<form name="myform" action="" method="post">
<legend>Posts</legend>
<?php
$data = mysql_query("SELECT * FROM Posts");
while($row = mysql_fetch_array($data)){
?>
JQuery와 자체 :
루프를 호출
<div id="post_<?php echo $row['postID']; ?>" class="post">
<div id="post_<?php echo $row['postID']; ?>_inside">
<b><?php echo $row['Title']; ?></b><br>
Expires: <?php echo $row['Exp']; ?><br>
<ul id="listM"></ul>
<form id="form_<?php echo $row['postID']; ?>" action="/">
<fieldset>
<div class="left"><p><input id="like_<?php echo $row['postID']; ?>" type="radio" name="pref_<?php echo $row['postID']; ?>" value="1"<?php if ($checked['value'] == "1") echo " checked"; ?> />
<label for="like_<?php echo $row['postID']; ?>">Like</label></p></div>
<div class="right"><p><input id="dislike_<?php echo $row['postID']; ?>" type="radio" name="pref_<?php echo $row['postID']; ?>" value="0"<? if ($checked['value'] == "0") echo " checked"; ?> />
<label for="dislike_<?php echo $row['postID']; ?>">Dislike</label></p></div>
<hr />
</fieldset>
</form>
</div>
</div>
<div id="Message_<?php echo $row['postID']; ?>"></div>
루프를 종료 :
를<script type="text/javascript">
$(document).ready(function() {
$("input[name*='pref_<?php echo $row['postID']; ?>']").click(function() {
var postID = <?php echo $row['postID']; ?>;
var value = $(this).val();
var userID = <?php echo $current_user->ID; ?>;
$.ajax({
url: 'check.php',
type: 'POST',
data: 'userID=' + userID + '&postID=' + postID + '&value=' + value,
success: function(result) {
$('#Message_<?php echo $row['postID']; ?>').html('').html(result);
}
});
});
});
</script>
표시 루프 내부의 게시물
<?php
}
?>
</div>
좋아 ...하지만 방법에 위치 상대에 대한 게시물 div? 그게 내 문제의 핵심이야. – Sweepster
나는 메시지 요소를 포스트 요소의 맨 위로 이동시키기 위해 jQuery의'.prepend()'를 사용하여 나의 대답을 업데이트했다. CSS를 사용하여 원하는 위치에 배치 할 수 있습니다. –
그 트릭을 했어! – Sweepster