通过ajax传递最接近的值

时间:2013-10-24 15:04:25

标签: ajax jquery

我有一个使用while循环创建的表,它显示一个项目列表,以便用户可以选择要删除的项目,这是通过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>

ajax

<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');

如果我提醒问题,请说[object Object]

2 个答案:

答案 0 :(得分:0)

var user = $(this).closest('id_user'); 

更改为

var user = $(this).closest('.id_user'); 

你没有指定一个“lass”。“ dot)))也许会有所帮助

答案 1 :(得分:0)

好的,怀疑它......

更改了此

var question = $(this).closest('.id_question');
var user = $(this).closest('id_user');

var question = $(this).next('.id_question').val();
var user = $(this).next('.id_user').val();