我的class =“vote”的div是

<div class="vote">
<input type="hidden" name="q_id" class="q_id" id="q_id" q_id="{{ result.object.id }}" value="{{ result.object.id }}">
<button type="submit" class="downvote" value="downvote">downvote</button>

在我的html页面上有几个这种类型的div,

我用jquery进行的ajax调用是
$('.downvote').click(function() {
var q_id=$(this).attr('q_id')
console.log(q_id)
$.ajax( {
    type: 'GET',
    url:"http://127.0.0.1:8000/q/downvote/",
    data:q_id,
    success: searchSuccessDown,
    dataType: 'html'
});
});
function searchSuccessDown(data) {
console.log('downvoted successfully');}

我是新手,我的问题是何时单击向下投票按钮(页面上有几个向下投票按钮)如何为具有class =“vote”的相应div选择id =“q_id”或class =“q_id”的输入标签并通过ajax数据传递其值。

最佳答案

一种方法是获取父元素(即表决div),然后在其中找到q_id元素:

var q_id = $(this).parent().find('.q_id').val();

这是一个小提琴:
https://jsfiddle.net/1m56g6jL/

10-04 15:46