我有一个文件Index.aspx
已连接到文件seatbooks.js
在Index.aspx
中有一个ID为Indexbutton
的按钮。 Indexbutton
有eventonclick='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)。
答案 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')
将失败。