2012-03-09 2 views
1

Iは、iPhoneスタイルのチェックボックスを切り替えるために、次のコード(動作)を有する:別の関数でjQueryのチェックボックスオブジェクト参照

  $('.iphone-style').live('click', function() { 

       checkboxID  = '#' + $(this).attr('rel'); 

       if($(checkboxID)[0].checked == false) { 
        $(this).animate({backgroundPosition: '0% 100%'}); 

        $(checkboxID)[0].checked = true; 
        $(this).removeClass('off').addClass('on'); 

       } else { 

        $(this).animate({backgroundPosition: '100% 0%'}); 

        $(checkboxID)[0].checked = false; 
        $(this).removeClass('on').addClass('off'); 

       } 
       }); 

を、私はときに、別のチェックボックスのチェックを外すことが特定のチェックボックス(AerialView)を希望します(PhotoStyles)がオフになっています。私はどのように正しく 'この'参照をより具体的なものに置き換えるのか分からない。私は声明の作品やfalseに確認された設定でも動作するかどうかを確認することを

   if($('#PhotoStylesCheck')[0].checked == false) { 

        $('#AerialViewCheck').animate({backgroundPosition: '100% 0%'}); 
        $('#AerialViewCheck')[0].checked = false; 
        $('#AerialViewCheck').removeClass('on').addClass('off'); 

       } 

注:私は(動作しない)、次があります。 'animate'、 'removeClass'、および 'addClass'の視覚的要素は機能しません。

+0

いくつかのHTMLコードを表示したり、フィドルを作成できますか? – arunes

答えて

0

あなたがチェックボックスのidが、それはされていない確認またはされているかどうかをチェックするための構文がある場合:また、あなたのケースでは

if($('#' + id).is(":checked")) { 
    // it is checked 
} 
else { 
    // it is not checked 
} 

をチェックボックスをチェックするための正しい構文を使用していない、とあなたがいます「真の」価値を得る。 OK。

$('#AerialViewCheck')[0]がチェックボックス要素の場合は、これにアニメーション、addClass、removeClassを適用します。なぜあなたは$('#AerialViewCheck')に応募しようとしていますか?このように使用してください:

$('#AerialViewCheck')[0].animate({backgroundPosition: '100% 0%'}); 
$('#AerialViewCheck')[0].removeClass('on').addClass('off'); 
+0

ありがとうございますが動作しません。私は完全にオフになっているかどうかはわかりませんが、元のコード(動作する)を見ると、アニメート、removeClassおよびaddClass関数はオブジェクトを参照します( 'this'呼び出しで)。彼らはIDを参照していません。私は 'this'と呼ぶことができないときにIDから特定のオブジェクト(この場合はAerialView)を参照する方法を知りません。 –