Javascript 将JQuery上下文$(this)传递给另一个函数并检索上下文数据
我正在使用Metronic引导管理它们,这是sweetalert附带的,这是一个警报库 我试图做的是在试图从表中删除记录时发出确认警报,每行都有一个删除按钮 现在Metronic已经做了一些扩展,所以您现在可以使用HTML5“数据”以声明的方式来声明标题、按钮类型等 在我的MVC应用程序中,下面的Razor代码迭代并添加了按钮,请注意,我正在向其添加数据id属性——我的想法是,当单击按钮以获取要删除的id时,我可以提取它 e、 g “我的页面”中的功能:Javascript 将JQuery上下文$(this)传递给另一个函数并检索上下文数据,javascript,jquery,sweetalert,metronic,Javascript,Jquery,Sweetalert,Metronic,我正在使用Metronic引导管理它们,这是sweetalert附带的,这是一个警报库 我试图做的是在试图从表中删除记录时发出确认警报,每行都有一个删除按钮 现在Metronic已经做了一些扩展,所以您现在可以使用HTML5“数据”以声明的方式来声明标题、按钮类型等 在我的MVC应用程序中,下面的Razor代码迭代并添加了按钮,请注意,我正在向其添加数据id属性——我的想法是,当单击按钮以获取要删除的id时,我可以提取它 e、 g “我的页面”中的功能: <script type="tex
<script type="text/javascript">
function onConfirmClick() {
alert($(this).data('id'));
//make Ajax call here
}
</script>
函数onConfirmClick(){
警报($(this.data('id'));
//在这里打电话
}
现在的问题是,我正在获取($this),但无法从按钮中获取id或任何属性
如果我在控制台中打印$(此)
只是“这个”
这里的问题是:
要将
id
从按钮的data id
传递到onConfirmClick()
函数,请执行以下操作。。。
我会尝试通过一个变量来传递它
因此,单击.mt sweetalert
,会触发一个sweetalert
没有什么可以阻止您使用另一个单击
处理程序将id
存储在函数可访问的变量中
var sweetAlertId;
$(".mt-sweetalert").on("click", function(){
sweetAlertId = $(this).data("id");
});
然后在函数中:
function onConfirmClick() {
alert(sweetAlertId);
//make Ajax request using sweetAlertId here!
}
简而言之,该id不会被强制通过SweetAlert传输;) 要将
id
从按钮的数据id
传递到onConfirmClick()
函数。。。
我会尝试通过一个变量来传递它
因此,单击.mt sweetalert
,会触发一个sweetalert
没有什么可以阻止您使用另一个单击
处理程序将id
存储在函数可访问的变量中
var sweetAlertId;
$(".mt-sweetalert").on("click", function(){
sweetAlertId = $(this).data("id");
});
然后在函数中:
function onConfirmClick() {
alert(sweetAlertId);
//make Ajax request using sweetAlertId here!
}
简而言之,该id不会被强制通过SweetAlert传输;) 在if语句中,尝试使用
onConfirmClick(this)
并在函数中使用onConfirmClick(obj)
然后使用alert($(obj).data('id'))
仅按内存(意味着我没有检查超过此注释之前的检查次数)。。。SweetAlert在元素(您的按钮)上实例化,并动态创建新元素<代码>$(this)上下文就是这个新元素。。。不是你的按钮。好吧-“在函数中使用onConfirmClick(obj)然后使用alert($(obj)。data('id'))”-在if语句中不起作用尝试使用onConfirmClick(this)
,在函数中使用onConfirmClick(obj)
thenalert($(obj)。data('id'))
,仅通过内存(意思是我没有在这个评论之前检查更多)…SweetAlert在一个元素(你的按钮)上实例化并动态创建新元素。$(这个)
上下文就是这个新元素…不是你的按钮。好吧-“在函数中使用onConfirmClick(obj)然后alert($(obj).data('id')”不工作,谢谢,不知道为什么我没有想到这一点:P-它很简单,而且工作-我只是想如果有一些更优雅的方式来做到这一点?这取决于你认为“优雅”……对我来说,“简单和工作”是相当好的。不知道为什么我没有想到这一点:P-它简单而有效——我只是想,如果有更优雅的方式来做这件事?这取决于你认为“优雅”…对我来说,“简单又实用”很好