我刚开始学习Jquery并且刚开始编写javascript(我太老了,不能写noob,感觉不对)。
场景:我有一个超链接,可以打开一个对话框并设置一个cookie。对话框询问“您想访问此页面是否确定?”它上面有“是/否”按钮。
如果用户单击是,我希望脚本检索最初单击的链接并转到该页面。我通过检索cookie的值来完成它。虽然这可行,但我确信我可以使用变量,但我不知道对话框是如何在单独的函数中。
所以我的问题:我可以使用设置cookie的变量并将其绑定到对话框中的yes按钮吗?语法是什么样的?
提前致谢
Hairby
代码低于
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("a").click(function () {
var cookieset = $(this).attr("href");
$.cookie("redirectcookie", cookieset, { path: '', expires: 7 });
$('#dialog').dialog('open');
$(".ui-dialog-titlebar-close").hide();
return false;
});
$('#dialog').dialog({
autoOpen: false,
width: 600,
buttons: {
"Yes": function() {
window.location = 'http://www.mysite.com'+ $.cookie("redirectcookie")
},
"Cancel": function() {
}
}
});
});
</script>
答案 0 :(得分:1)
您可以使用method option,在点击链接时添加按钮,而不是在创建对话框时添加按钮:
$("a").click(function () {
var $link = $(this);
$('#dialog').dialog('option', 'buttons', {
"Yes": function() {
window.location = $link.attr("href");
},
"Cancel": function() {
$('#dialog').dialog( 'close' );
}
});
$('#dialog').dialog('open');
$(".ui-dialog-titlebar-close").hide();
return false;
});
$('#dialog').dialog({
autoOpen: false,
width: 600
});
注意,我保存了“$(this);”在一个名为“$ link”的变量中,因为“this”具有另一个含义,在回调函数内部,它指向dialog-Object。
修改强>
会发生以下情况:当文档准备就绪时,选择“a”并单击一个功能 - 功能绑定到它。函数本身不会被执行,但会在用户单击链接时执行。其次,仍处于就绪事件中,选择“#dialog”并创建一个新对话框。唯一的参数是一个包含两个属性“autoOpen”和“width”的Object。就是这样,准备好了。
当用户现在单击链接时,将执行给定的功能。它做了以下事情:
答案 1 :(得分:0)
您可以使用jQuery's data function来存储数据,而不是使用Cookie