我有一个从数据库中获取数据的表,每列包含一个按钮,用于在模态框中查看该特定行,模式框包含下一个和上一个按钮,下一个给出下一行表和之前行的详细信息给出该行的先前数据。现在我的问题是:
我只能做一次吗?
$('#review_essay').delegate('.navBtn', 'click', function () {
var current_row_id = $(this).parents('#review_essay').attr('current_row_id');
var position_value = $(this).attr('position_value');
var navValue = parseInt(current_row_id) + parseInt(position_value);
alert(current_row_id)
alert(position_value)
alert(navValue)
var qid = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).attr('qid');
alert(qid);
var uid = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).attr('uid');
var paper_id = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).data('paper_id')
var session_id = $('#exam_details').attr('session_id')
var exam_id = $('#exam_details').attr('exam_id')
//alert('reached');
navigate(exam_id, session_id, paper_id, qid, uid);
});
它不会执行多次。 current_row_id
将保持0
。
答案 0 :(得分:0)
我看到的一个问题是您没有更新current_row_id
,因此请将其更新为navValue
$('#review_essay').delegate('.navBtn', 'click', function () {
var current_row_id = $(this).parents('#review_essay').attr('current_row_id');
var position_value = $(this).attr('position_value');
var navValue = parseInt(current_row_id) + parseInt(position_value);
alert(current_row_id)
alert(position_value)
alert(navValue)
var qid = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).attr('qid');
alert(qid);
var uid = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).attr('uid');
var paper_id = $('#essay_data').find('tbody').find('tr').eq(navValue - 1).data('paper_id')
var session_id = $('#exam_details').attr('session_id')
var exam_id = $('#exam_details').attr('exam_id')
//alert('reached');
navigate(exam_id, session_id, paper_id, qid, uid);
//update the current_row_id to the new value
$(this).parents('#review_essay').attr('current_row_id', navValue);
});