当用户从下拉菜单中选择方法时,应触发事件。我有一个从数据库中获取ID的复选框,根据该ID,您可以从下拉菜单中添加或删除用户。
var ajReq = new XMLHttpRequest();
$(document).ready(function () {
$('.dropdown-menu li a').click(function (e) {
switch ($(this).text()) {
case "Add":
Do something...
break;
case "Remove":
var id = $(this).attr("Remove-something");
SomeAjaxMethod(id)
break;
}
}); });
这是我创建复选框的地方:
row += '<td><input type="checkbox" class="Remove" Remove-something= "' + msg[data].ID+ '"></td>'
所以问题是,如果我勾选其中一个复选框(它将包含将用于删除该特定记录的记录的ID)。如果我然后下拉菜单并选择“删除”选项,它应该将该ID传递给某些Ajax方法并从数据库中删除该记录。我收到500错误。我认为这是因为我在document.ready函数中调用了SomeAjaxMethod(id)方法。
答案 0 :(得分:1)
您的“删除”案例可能应该类似于:
case "Remove":
var id = $('.Remove:checked').attr("Remove-something");
SomeAjaxMethod(id)
break;
您正在使用this
,但this
的上下文是单击的下拉项。您需要一个不同的选择器才能获取选中的复选框并获取Remove-something
属性。
答案 1 :(得分:0)
试试这个
$('.dropdown-menu li a').click(function (e) {
var ele = $(this);
switch (ele.text()) {
case "Add":
Do something...
break;
case "Remove":
var id = ele.attr("Remove-something");
SomeAjaxMethod(id)
break;
}
});