Javascript 将一个从link传递的变量合并到jQuery模式中,之后通过ajax发布
我想将一个变量从一组链接传递到一个公共jQuery模式,但是在捕获变量时遇到了问题 我有一组链接,它们都调用相同的模式(VodkaBears调用的jQuery插件): 但我并不是以这种方式打开模式,控制此事件的remodal插件 我试图像这样捕捉属性:Javascript 将一个从link传递的变量合并到jQuery模式中,之后通过ajax发布,javascript,jquery,ajax,Javascript,Jquery,Ajax,我想将一个变量从一组链接传递到一个公共jQuery模式,但是在捕获变量时遇到了问题 我有一组链接,它们都调用相同的模式(VodkaBears调用的jQuery插件): 但我并不是以这种方式打开模式,控制此事件的remodal插件 我试图像这样捕捉属性: $(document).on('opening', '.remodal', function () { var jid = $(this).attr("id"); alert( 'The jobid is
$(document).on('opening', '.remodal', function () {
var jid = $(this).attr("id");
alert( 'The jobid is ' + jid );
$('#link_jobid').val( jid );
}
但这会获取remodal窗口的id,而不是调用链接
"The job id is mailmodal"
我做错了吗?如何从调用链接捕获变量并将其转换为模态形式
编辑
感谢下面的Norlihazmey Ghazali,我能够实现这一点——答案非常简单:
$("[data-remodal-target='mailmodal']").click(function(){
var jid = $(this).data('jobid');
// alert( 'The jobid is ' + jid );
$('#link_jobid').val( jid );
});
谢谢大家-爱这个网站 也许您需要使用全局变量进行赋值,定义全局变量,并将
数据jobid
值赋值到该变量中,最后让事件在触发时跟踪它。尝试以下代码(不确定是否工作):
//声明全局变量
gJobId变种;
//为锚点注册单击事件
$(“[data remodal target='mailmodal']”)。单击(函数(){
//分配到全局var
gJobId=$(this.data('jobid');
});
$(文档).on('opening','.remodal',函数(){
//让我们抓住全局变量
var jid=gJobId;
警报(“作业ID为”+jid);
$('link_jobid').val(jid);
});
模式是否总是出现在页面上,然后在单击时显示?或者模态是从远程源加载的?我建议您将传递给控制台的打开
处理程序的事件对象记录下来,并检查它是否包含对触发模态的元素的引用。模态在单击链接之前呈现(未从外部加载)。谢谢你的提示,CBroe:-)谢谢你的帮助,诺里哈兹梅·加扎利。甚至没有必要将值放入全局变量中,请参阅我的上面的编辑,了解我最终如何使用您的提示。欢迎您听到这个消息。只要工作正常,就继续前进:)
$('a[href="#mailmodal"]').click(function() {
var jid = JSON.parse($(this).attr("data-jobid"));
$('#link_jobid').val( jid );
});
$(document).on('opening', '.remodal', function () {
var jid = $(this).attr("id");
alert( 'The jobid is ' + jid );
$('#link_jobid').val( jid );
}
"The job id is mailmodal"
$("[data-remodal-target='mailmodal']").click(function(){
var jid = $(this).data('jobid');
// alert( 'The jobid is ' + jid );
$('#link_jobid').val( jid );
});
<script>
// declare global var
var gJobId;
// register click event for anchor
$("[data-remodal-target='mailmodal']").click(function(){
// assign into global var
gJobId = $(this).data('jobid');
});
$(document).on('opening', '.remodal', function () {
// let catch the global var
var jid = gJobId;
alert( 'The jobid is ' + jid );
$('#link_jobid').val( jid );
});
</script>