如何获得按钮ID

时间:2015-02-03 03:42:19

标签: javascript c# jquery asp.net ajax

我有一个文件Index.aspx已连接到文件seatbooks.jsIndex.aspx中有一个ID为Indexbutton的按钮。 Indexbuttoneventonclick='book_ticket()'book_ticket()包含seatbooks.js方法。如何在Indexbutton上获取按钮ID(book_ticket())。请检查我的代码:

 <input type="button" name="submit" class="ui-state-default ui-corner-all" id="indexbutton" onclick="book_tickets()" value="Book Seat" />

以上是Index.aspx上的代码。这是我的book_ticket()代码:

function book_tickets() {    
var tickets = jQuery('.seat.selected').length;
//seatId = $('#button').attr('id');   
//var btnId = this.attr('id');
//console.log(seatId);
if(tickets==0)
{
    alert('Please select at least one seat to continue...!');
    return false;
} else if (tickets > 1)
{
    alert('Please select only one seat to continue...!!');
    return false;
}else
{
    x = jQuery('.seat.selected').toArray();
    jQuery('#seat-form-data').html('');
    jQuery('.seat.selected').each
    (
        function () {
            var ydata = jQuery(this).html();
            xdata = ydata.replace("[class]", "");
            jQuery('#seat-form-data').append(xdata);
        }
    );
    jQuery('#seat-form-data').append('<input type="submit" value="submit">');
    jQuery('#seat-form-data input[type="submit"]:first').trigger('click');
    //console.log(xdata);


    // Link to open the dialog
   $("#dialog").dialog("open");
    //event.preventDefault();
}

}

我曾尝试过:

seatId = $('#button').attr('id');   
var btnId = this.attr('id');

并尝试在控制台上显示它。但它不起作用。它说undefine。我想在indexbutton上获得book_tickets()(按钮ID)。

1 个答案:

答案 0 :(得分:0)

由于您拥有硬编码ID,因此您希望通过任何其他方式访问它。你可以硬编码按钮Id不是吗?

无论如何,一种解决方案是将dom引用传递给函数,如

<input type="button" name="submit" class="ui-state-default ui-corner-all" id="indexbutton" onclick="book_tickets(this)" value="Book Seat" />

然后

function book_tickets(el) { 
    var buttonId = el.id;
    ....
}

您的代码

seatId = $('#button').attr('id');
var btnId = this.attr('id');

$('#button').attr('id')将查找ID为button的元素,如果找到它,它将返回该元素的id,同样button,同样this 1}} book_tickets方法内部没有引用按钮,它是窗口对象,因此this.attr('id')将失败。