复选框触发远程链接

时间:2013-07-15 15:07:45

标签: jquery ruby-on-rails ruby ajax ruby-on-rails-3.2

我正在将链接转换为复选框。

我想接受这个

<%= link_to (image_tag "table.png", :alt => "Show Area(s) Table", :style => "padding-left:15px;", :id => "updateAreaTableIconId"), refresh_area_table_path({:field_id => "#{@field.id}"}), :remote => true %> 

并创建类似这样的内容

<input type='checkbox' id='showAreaBox' onclick='showArea(); <%= redirect_to refresh_area_table_path({:field_id => "#{@field.id}"}), :remote => true %>;'></input>     

所以换句话说,我想摆脱链接并将重定向添加到复选框的onclick

如果有办法在jquery中触发远程重定向,我可以将它添加到showArea();方法也是如此。

谢谢!

3 个答案:

答案 0 :(得分:1)

听起来您想要在选中复选框时以编程方式单击锚点?

这是一种方法:

var myLink = $('#myLinkId'); // assumes you have a reference to your <a/> element

$('#showAreaBox').change(function() {

    // if the checkbox is checked, invoke the link
    if( this.checked ) {
        myLink.trigger('click');
    }

    // checkbox is unchecked
    // else {}
});

答案 1 :(得分:0)

试试这个:

JS

$('#showAreaBox').change(function() {
    var el = $(this);
    if (el.prop('checked')) {
        if (el.data('target') == '_blank') {
            window.open(el.data('link'));
        }
        else {
            location = el.data('link');
        }
    }
});

在同一窗口中打开的HTML

<input type="checkbox" id="showAreaBox" data-link="http://www.example.com">

用于在新窗口中打开的HTML

<input type="checkbox" id="showAreaBox" data-target="_blank" data-link="http://www.example.com">

答案 2 :(得分:0)

我是网络开发的新手,我现在意识到我没有问正确的问题 我最终使用了这个

$.post('myLink')

那做了什么:remote =&gt;在link_to上是true。 我在本文的2中找到了答案 http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/