首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有单选按钮控件和jquery的控件链接首选项

带有单选按钮控件和jquery的控件链接首选项
EN

Stack Overflow用户
提问于 2009-05-05 06:41:09
回答 1查看 1K关注 0票数 2

对于具有特定CSS类的任何链接,我希望根据用户从一组单选按钮中的选择来控制这些链接是在同一窗口、新窗口还是弹出窗口中打开(使用onclick),然后将选择保存在cookie中(全部使用jQuery)。有人知道怎么做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-05 09:40:26

我可能就是这么做的。(您将需要jQuery cookie plugin):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script language="javascript">
$(function() {
    if($.cookie('link_pref')) {
    var link_pref = $.cookie('link_pref');
        $('#link_options_form :radio[value="'+ link_pref+'"]')
        .attr('checked','checked');
    }
    $.cookie('link_pref',$('#link_options_form :radio:checked').val(), {expires: 0});
    $('#link_options_form :radio').unbind('click').bind('click',function() {
         $.cookie('link_pref', $(this).val(), {expires: 0});
    });
    $('a').unbind('click').bind('click',function() {
        var link_pref = $.cookie('link_pref');
        var href = $(this).attr('href');
        var link_txt = $(this).text();
        switch(link_pref) {
            case 'new':
                $(this).attr('target','_blank');
                return true;
            case 'pop':
                window.open(href,link_txt,'width=640,height=480,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
                return false;
            case 'greybox':
                // Other options found here: 
                // http://orangoo.com/labs/greybox/advance_usage.html
                GB_show(link_txt, href);
                return false;
            default:
                $(this).attr('target','_self');
                return true;
        }
    });
});
</script>

<form id="link_options_form">
    <label><input type="radio" name="link_options" value="same" /> Open in Same Window</label>
    <label><input type="radio" name="link_options" value="new" /> Open in New Window</label>
    <label><input type="radio" name="link_options" value="pop" /> Open in Pop-Up Window</label>
    <label><input type="radio" name="link_options" value="greybox" /> Open in Greybox</label>
</form>

编辑:很抱歉我没有先测试一下。我有几个打字错误,并且我忘了一开始就设置cookie (对不起)。我已经测试过了,它现在可以和你的HTML一起工作了。使用上面新编辑的代码。;-)

cookie编辑2:我添加了一个指向插件的直接链接,以防你因为某些原因没有使用正确的插件。

编辑3:个人,我不会在javascript中将单选按钮设置为选中...我相信,您可以用您的服务器端语言访问相同的cookie。但是,我提供了一种在我新编辑的代码中工作的方法。

编辑4:已修复选中的单选按钮错误的初始设置。这一次它应该真的能起作用。真的。o_

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/825189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文