Saya memiliki beberapa kotak komentar dari konten di halaman yang sama dan saya kesulitan mengidentifikasinya untuk memperlakukannya dengan benar - misalnya, tidak masalah di mana saya mencoba mengirim komentar saya (dari kotak komentar mana) - selalu mendapat diposting ke kotak komentar pertama di suatu halaman atau saya berjuang dengan masukan untuk mendapatkan izin setelah saya memposting komentar saya tetapi masukan hanya dibersihkan di kotak komentar pertama yang sama. Ini yang saya punya: (AJAX)
$(function() {
$(".comm").click(function() {
var parentDiv = $(this).parent('.post_comment').next().children(":first");
var comment = $(this).parent('.post_comment').find('.comment').val();
var name = document.getElementById("username").value;
var idv = $(this).parent('.post_comment').find("#idv").val();
var posthere = $(this).parent().siblings('.wrap_comment').find('#wrap').attr('class');
alert(idv);
if(comment=='')
{
alert("Enter some text..");
$("#content").focus();
}
else
{
$.ajax({
type: "POST",
url: "river_flow.php",
data:
{ username: $("#username").val(),
idv: $(this).parent('.post_comment').find(".idv").val(),
comment: $(this).parent('.post_comment').find('.comment').val()},
cache: false,
success: function(data){
$('#show').after(data);
$(this).find('.comment').css('background-color','red');
$("#content").focus();
}})
return false;
}})})
(HTML)
<div class='com'><button class='click_and_comment'>Give it a comment</button>
<div class='post_comment'>
<img class='end' src="img/end.png" alt='close'/>
<input type="hidden" id="username" value="<?php echo $_SESSION['username'] ?>" name='username'/>
<input type="hidden"class='idv' id="idv" value="<?php echo $row['idv']; ?>" name='idv'/>
<textarea type='text' class="input_comment comment" placeholder='What do you think?' name='comment' id='comment' ></textarea>
<input type='submit' name='comment_submit' class="comment_submit comm" id='comm'/>
</div>
<div class='wrap_comment' id="<?php echo $row['idv']; ?>" >
<div id="show" align="left" class="<?php echo $row['idv']; ?>" ></div>
<?php
$idvc = $row['idv'];
$query = " SELECT * FROM comments WHERE idvc= '$idvc' ORDER BY datec DESC;";
$result = mysqli_query($conn,$query);
while ($bow = mysqli_fetch_assoc($result)) {
echo "<div class='each_comment' id='<?php echo $bow[idvc];?>' >".$bow['commentc']."</div> ";}
?>
</div>
Jadi, untuk membentuk masalah saya dalam sebuah pertanyaan: bagaimana saya bisa memposting komentar pengguna masing-masing ke tempat mereka 'perlu' diposting dan bagaimana cara membersihkan hanya input 'saat ini' atau 'ini' - tidak selalu yang pertama. Sekali lagi - semuanya berfungsi dengan sempurna, masalahnya adalah selalu ada lebih dari satu kotak komentar dan saya perlu membedakannya dan memperlakukannya secara sesuai. Inilah tebakan saya yang tidak berhasil (jika bertentangan saya tidak akan berada di sini) dan, tolong, jelaskan, mengapa tidak berhasil, karena sederhana saja:
$(this).find('#comment').value = '';
tidak berhasil! mungkin ia tidak 'melihat' atribut ini. Tapi kenapa?! Jadi. inilah tebakan saya:
$(this).parent('.post_comment').siblings('.wrap_comment').find('#show').after(data);
(itu untuk postingan komentar dan ini tebakan saya untuk input clearing :)
$(this).parent('.post_comment').find('#comment').val('');
Saya menemukan sesuatu seperti:
$('#komentar').removeAttr('nilai');
tidak berfungsi di sana - saya tidak berbicara tentang kebingungan murni yang saya dapatkan ketika hal ini tidak berfungsi:
$(this).find('.comment').css('background-color','red');
Whoof. Jadi, saya harap seseorang dapat menjelaskan semua ini sedikit untuk saya. Saya pemula, jujur saja. Terima kasih!