У меня есть таблица, созданная с использованием цикла while, который отображает список элементов, чтобы пользователь мог выбрать элемент для удаления, который выполняется через ajax.Передайте ближайшее значение через ajax
Я хотел бы использовать JQuery's
ближайший атрибут, но я не могу выработать правильный синтаксис. Выход я получаю от этого Object Object
стол
<form id="del_opinion">
<table id="asked_list">
<?php
while($row = mysqli_fetch_assoc($result)){
<tr>
<td>
<?php echo $row['name']; ?>
</td>
<td>
<input type="button" name="del_question" value="" class="trash_btn">
<input type="hidden" class="id_question" name="question_id" value="<? echo $row['questionID']; ?>">
<input type="hidden" class="id_user" name="user" value="<?php echo $id; ?>" >
</td>
</tr>
<? } ?>
</table>
</form>
Аякса
<script>
$(document).ready(function() {
$('.trash_btn').click(function(){
var question = $(this).closest('.id_question');
var user = $(this).closest('id_user');
$.ajax({
url: 'opinion_del.php',
type:'POST',
data: 'question='+ question +'&user='+user,
dataType: 'json',
success: function(response){
$('#responses_table').html(response);
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
} // End of success function of ajax form
}); // End of ajax call
});
});
</script>
PHP сделали для тестирования
$question_id = $_POST['question'];
$id = $_POST['user'];
$sql = "SELECT * FROM adviceQuestion WHERE questionID = '$question_id'";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
if($result){
$output = $question_id;
}
echo json_encode($output);
Если я печатаю буквальное значение $output
работает нормально, и если я набираю буквальное значение в любом из jquery vars
они правильно работают тоже, так что я уверен, что это что-то делать с ближайшим синтаксисом
Я также попытался добавить класс к строке таблицы называется details
и использованием
var question = $(event.target).closest('.details').find('.id_question');
Если I бдительного вопроса, говорит [object Object]
Попробуйте удалить DATATYPE: '' Json Потому что: echo json_encode ($ output); вы выводите и идентификатор, так что это строка или попытаться вывести массив ... У меня было что-то подобное, возможно, не помню. Но вы код хорошо смотрятся мне ... – Froxz
это все то же самое, просто говорит [object Object] – tatty27
, если я напечатаю буквальное значение в «var user», значение которого правильно передается – tatty27