2009-08-28 21 views
1
var $field = $(this); 
      if ($field.is('input')) { 
       alert(1); 
       if ($field.attr('type') == 'checkbox') { 
        alert(2); 
        if ($field.attr('value') == "true") 
         return $field.attr('checked'); 
       } 

       return $field.val(); 
      } 

チェックボックスの値が真であるかどうかをチェックしたいのですが、チェックされた属性をチェックする=チェックボックスをチェックします。私のコードは間違っています。あなたはJquery CheckBox

$("input:checkbox") 

と値を使用して、チェックボックスを選択することができ

$("input:checkbox").val() == "true" 

やチェックボックスをチェックするためにあなたが

$("input:checkbox").attr ("checked" , true); 

を使用することができますにme.thanks

+0

あなたはより多くのコンテキストを与えることができますか? 「これ」がどこであるかは明確ではない。 – ChaosPandion

答えて

6

変更条件を助けてください使用:

$("input:checkbox").val() 

あなたは真の属性値を持つすべてのチェックボックスをチェックしたい場合、あなたはあなたが大いにこれを支援するために:checkedセレクタを使用することができます

$(document).ready (function() 
     { 
      var checkBoxes = $("input:checkbox");   
      checkBoxes.each (function() { 
       if ($(this).val() == "true") 
       { 
        $(this).attr ("checked" , true); 
       } 
      }); 
     }); 
16

を使用することができます。

var $field = $(this); 
return $field.is(':checked'); 

これは適切なboolを返します。 attr('checked')またはval()を返すと、おそらくあなたが望むものではない文字列で終わるでしょう。

.attr("checked") 

が(真実ではない)チェックすると、 "確認" が返されます、 "未定義":

http://docs.jquery.com/Selectors/checked

1

補正のための確認のためのtrueundefinedを返します参照してください。チェックされていない場合

したい場合は、あなたがこのような何かをしなければならない真/偽:

$("#checker").attr("checked")=="checked" 
関連する問題