如何启用和禁用下一个和上一个按钮?

时间:2014-03-22 09:46:44

标签: javascript jquery

我有一个包含按钮的表格。此按钮提供模式框中特定行的详细信息,此模式框可帮助用户从表中转到下一个和上一个。接下来将给出表的下一个值的信息,之前将给出表的行的先前值。我几乎已经为此编写了代码,但是一旦我到达表的末尾,下一个按钮就会被禁用,而在点击之前它应该再次启用但它仍然被禁用。

这里的代码如下。

$('#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)
    if (current_row_id <= 0)
    {
        alert(current_row_id)
        $("#btn2").attr('disabled', true);
        $("#btn1").attr('disabled', false);
    }
    else
    {
        $("#btn2").attr('disabled', false);
    }
    if (current_row_id < last_value) {
        var navValue = parseInt(current_row_id) + parseInt(position_value);
    }
    else
    {
        $("#btn1").attr('disabled', true);
        alert('End of the row, click back for previous data');
    }

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

1 个答案:

答案 0 :(得分:0)

如果您获得当前行的对象,如

current_row_object=$(this);<br>

然后你可以获得下一个和上一个行对象,如。

next_row_obj=$(this).next("tr");<br>
previous _row_obj=$(this).prev("tr");<br>

if($(next_row_obj).length)<br>
 $("#nextbtn").attr('disabled', true);<br>
else<br>
 $("#nextbtn").attr('disabled', false);<br>


if($(previous _row_obj).length)<br>
 $("#prevBtn").attr('disabled', true);<br>
else<br>
 $("#prevBtn").attr('disabled', false);<br>