合并一个从链接传递到jQuery模组的变量,稍后通过ajax发布
incorporating a variable passed from link into jQuery modal later POSTed via ajax
我想将变量从一组链接传递到一个通用的jQuery模式,但是在捕获变量时遇到问题。
我有一组链接,它们都调用相同的模态(伏特加熊称为Remodal 的jQuery插件(:
<a href='#mailmodal' data-remodal-target='mailmodal' data-jobid='1'>Email job</a>
<a href='#mailmodal' data-remodal-target='mailmodal' data-jobid='2'>Email job</a>
<a href='#mailmodal' data-remodal-target='mailmodal' data-jobid='3'>Email job</a>
模态包含一个表单(在单独的步骤中通过 AJAX 提交(。 模态/窗体的标记如下所示:
<div class="remodal" id='mailmodal' data-remodal-id="mailmodal" >
<form id='mailmodal_form' action="" method="post">
. . .
<input type="submit">
</form>
</div>
我想将 jobid 变量传递到表单中,但在用户单击链接以实际打开模态之前,表单已经发送到浏览器。
此模态是在我不想直接破解的 jQuery 插件中触发的,所以我无法访问点击事件块,或者我可以轻松地从触发链接中捕获属性。
Remodal 已经记录了它的方法和事件,但我很难弄清楚如何(以及何时(抓取变量并将其传递到表单中。 我认为将变量从链接获取到表单中的最明显方法是在窗口打开时捕获变量,并将其插入表单中的隐藏字段中。
<div class="remodal mailme-modal" id='mailmodal' data-remodal-id="mailmodal" >
<form id='mailmodal_form' action="" method="post">
<input type="hidden" name='link_jobid' id='link_jobid' value='placeholder'>
我想我会直接从链接中捕获它:
$('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 );
}
但这会获取重新模态窗口的 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 );
});
谢谢大家 - 喜欢这个网站!
也许您需要使用全局变量、定义的全局变量data-jobid
赋值并将值分配给该变量,最后让事件在触发时赶上它。尝试以下代码(不确定是否有效(:
<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>
相关文章:
- 将地理编码结果转换为php变量以发布到mysql数据库
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 未在keyup上发布变量
- 使用AJAX将变量发布到不同文件上的php函数并调用该函数
- 在URL中发布多个变量并使用复选框
- 如何在ajax请求中将多组数据作为单个变量发布
- 将php文件加载到弹出窗口中,并将php变量发布到该弹出窗口中(使用onclick)
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- 我将如何在将数据发布到 php 脚本的 javascript 脚本中输入变量
- 尝试在 if 子句中将变量从 js 发布到 php
- 使用PHP将JavaScript变量发布到MySQL
- Jquery ajax将变量发布到php
- 使用 javascript 将 php 变量发布到页面
- 使用 xml 将 javascript 变量发布到服务器
- 使用WinJS.xhr将变量发布到URL
- 如何将变量发布到php并在同一页面上运行该php
- 使用空白变量发布PHP变量到移动站点
- 使用Ajax将PHP变量发布到另一个文件
- 如何将javascript变量发布到ASP.net MVC模型中
- 如何通过 ajax 将变量发布到 ruby 脚本