2012-05-04 32 views
0

调用一个网址我有这样的:jQuery的,我怎么通过勾选复选框

<span id="social"> 
    Facebook: 
    <input id="id_connected_to_facebook" type="checkbox" name="connected_to_facebook"> 
    <br> 
    Twitter: 
    <input id="id_connected_to_twitter" type="checkbox" name="connected_to_twitter"> 
    <br> 
</span> 

,并与jQuery我想调用不同的URL的所有4个可能的行动(1:检查脸谱,2 :取消选中脸书,3:检查微博,4:取消选中微博)。

我会怎么做呢?

+0

请勿使用onchange方法。它在MSIE中很疯狂 – core1024

回答

5

我不确定你要做什么。如果你想重定向到一个页面上点击复选框就可以做到这一点

指定要使用的数据属性

<input type="checkbox" data-target="http://www.facebook.com" /> 

Script是

$(function(){ 
    $("input[type='checkbox']").change(function(){ 
    var item=$(this);  
    if(item.is(":checked")) 
    { 
    window.location.href= item.data("target") 
    }  
}); 
}); 
在checkbox元素叫什么网址

样品的jsfiddle:http://jsfiddle.net/45aZ8/2/

编辑:如果你想在一个新的窗口,使用时打开它window.open方法,而不是更新当前URL

window.location.href= item.data("target") 

window.open(item.data("target") 

http://www.w3schools.com/jsref/met_win_open.asp

编辑3替换:基于评论:如果要加载一个检查状态和加载其他网址r url on uncheck,你可以这样做

给出每个复选框的2个数据属性。一为选中状态,一个用于选中

Facebook<input type="checkbox" data-target="http://www.facebook.com" data-target-off="http://www.google.com" /> <br/> 
Twitter<input type="checkbox" data-target="http://www.twitter.com" data-target-off="http://www.asp.net" /> <br/> 

和脚本是

$(function(){ 
    $("input[type='checkbox']").change(function(){ 
    var item=$(this);  
    if(item.is(":checked")) 
    { 
     window.open(item.data("target")) 
    } 
    else 
    { 
     window.open(item.data("target-off")) 
    }   
}); 
}) 

工作样本:http://jsfiddle.net/45aZ8/5/

+0

你错过了一个支架并引用 – core1024

+0

@ core1024:是的。感谢codeparadox跳入和修复。 – Shyju

+0

对不起,我不是很清楚,我希望当前页面保持打开状态。我希望用户将该帐户关联到社交帐户,并为此使用一些网址。这只是加载URL的问题,但由于复选框位于配置文件页面上,离开页面并不方便。我不知道如何用jQuery来处理。 – Bastian

0
$('input[type="checkbox"]').change(function() { 
    if($(this).is(':checked')) { 
    if($(this).attr('id') == 'connected_to_facebook') { 
     // possibility: 1 
    } else { 
     // possibility: 3 
    } 
    } else { 
    if($(this).attr('id') == 'connected_to_facebook') { 
     // possibility: 2 
    } else { 
     // possibility: 4 
    } 
    } 
}); 
0
$('#id_connected_to_facebook, #id_connected_to_twitter').click(function(){ 
    $.post('http://target.url', {this.id:this.checked}); 
}); 

现在你会得到$ _ POST或者id_connected_to_facebook或id_connected_to_twitter和作为值将是1或0