如何从打开对话框Jquery UI的链接中检索href值
我刚刚开始学习Jquery,对编写javascript还不熟悉(我太老了,写不出来了,感觉不对) 场景:我有一个超链接,可以打开一个对话框并设置一个cookie。对话框会询问类似“您想访问此页面吗?确定吗?”的问题,上面有“是/否”按钮 如果用户单击“是”,我希望脚本检索最初单击的链接并转到该页面。我是通过检索cookie的值来实现的。虽然这是可行的,但我确信我可以用一个变量来实现,但我不知道如何实现,因为对话框是在一个单独的函数中 所以我的问题是:我可以使用设置cookie的变量并将其绑定到对话框中的yes按钮吗?语法是什么样的 提前谢谢 毛边 代码如下如何从打开对话框Jquery UI的链接中检索href值,jquery,jquery-ui,javascript,Jquery,Jquery Ui,Javascript,我刚刚开始学习Jquery,对编写javascript还不熟悉(我太老了,写不出来了,感觉不对) 场景:我有一个超链接,可以打开一个对话框并设置一个cookie。对话框会询问类似“您想访问此页面吗?确定吗?”的问题,上面有“是/否”按钮 如果用户单击“是”,我希望脚本检索最初单击的链接并转到该页面。我是通过检索cookie的值来实现的。虽然这是可行的,但我确信我可以用一个变量来实现,但我不知道如何实现,因为对话框是在一个单独的函数中 所以我的问题是:我可以使用设置cookie的变量并将其绑定到对
<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>
$(文档).ready(函数(){
$(“a”)。单击(函数(){
var cookieset=$(this.attr(“href”);
$.cookie(“重定向cookie”,cookieset,{path:'',expires:7});
$('dialog')。dialog('open');
$(“.ui对话框标题栏关闭”).hide();
返回false;
});
$('#dialog')。dialog({
自动打开:错误,
宽度:600,
按钮:{
“是”:函数(){
window.location=http://www.mysite.com“+$.cookie”(“重定向cookie”)
},
“取消”:函数(){
}
}
});
});
您可以使用来存储数据,而不是使用cookie您可以使用以下选项,在单击链接时添加按钮,而不是在创建对话框时添加按钮:
$("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对象
编辑:发生的情况如下:当文档准备就绪时,“a”被选中,并且单击函数被绑定到它。函数本身不会执行,但会在用户单击链接时执行。第二,仍然在就绪事件中,选择了#dialog并创建了一个新的对话框。唯一的参数是包含两个属性“autoOpen”和“width”的对象。就这样,准备好了。
当用户现在单击链接时,将执行给定的函数。它执行以下操作:
这很有效,让我的所作所为蒙羞。所以用白痴的话说,当用户点击超链接时,变量“link”被创建,这就是超链接,按钮也被创建。yes函数包含windows位置,该位置是链接变量属性“href”。我还添加了我制作的饼干,效果不错。非常感谢,我有很多东西要学@莫里斯:是的,你明白了。我还更新了我的答案,并一步一步地描述了发生的事情