2

私はこれを持っています:

<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を使用して、4つの可能なアクションすべてに対して別のURLを呼び出したいと思います(1:facebookをチェック、2:facebookをチェック解除、3:twitterをチェック、4:twitterをチェック解除)。

どうすればいいですか?

4

3 に答える 3

8

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

データ属性を使用して、チェックボックス要素で呼び出す URL を指定します

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

スクリプトは

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

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

EDIT:新しいウィンドウで開きたい場合はwindow.open、現在のURLを更新する代わりにメソッドを使用してください

交換

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

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

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

EDIT 3 :コメントに基づく: Checked 状態で 1 つの URL をロードし、Uncheck で別の URL をロードする場合は、このようにすることができます

チェックボックスごとに 2 つのデータ属性を指定します。1 つはチェック済み状態用、もう 1 つは未チェック状態用

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/

于 2012-05-04T17:20:55.447 に答える
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 になります。

于 2012-05-04T17:21:43.617 に答える
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
     }
  }
});
于 2012-05-04T17:16:51.417 に答える