2012-05-04 9 views
0

をチェックして、URLを呼ぶのです:2、Facebookのを確認してください。私はすべての4つの可能なアクション(1ごとに異なるURLを呼び出すしたいと思います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とを:Facebookのチェックを外す、3:チェックする、4:チェックしない)

どうすればいいですか?

+0

onchangeメソッドを使用しないでください。それはMSIEで狂っている – core1024

答えて

5

私はあなたが何をしようとしているのか分かりません。チェックボックスをクリックして上のページにリダイレクトしたい場合は、この

スクリプトが

$(function(){ 
    $("input[type='checkbox']").change(function(){ 
    var item=$(this);  
    if(item.is(":checked")) 
    { 
    window.location.href= item.data("target") 
    }  
}); 
}); 
ある

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

データ属性を使用して、あなたのチェックボックス要素で呼び出したいものをURL指定を行うことができます

サンプルJsFiddle:http://jsfiddle.net/45aZ8/2/

EDIT:あなたは新しいウィンドウで開きたい場合は、使用コメントに基づいて:あなたは1をロードしたい場合は

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

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

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

EDIT 3を交換する代わりに、現在のURLを更新するwindow.open方法Checked状態のurlとanotheをロードするあなたはこのチェックボックスに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:うん。ジャンプして修正するためのthecodeparadoxに感謝します。 – Shyju

+0

申し訳ありませんが私は非常に明確ではなかった、私は現在のページを開いたままにします。私は、ユーザーがソーシャルアカウントにアカウントを関連させ、そのためにいくつかのURLを使用したいと思っています。 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

関連する問題