2009-08-28 2 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(); 
      } 

확인란의 값이 true인지 확인하고 싶습니다. 확인란을 선택하면 속성이 선택됩니다. 하지만 내 코드가 잘못되었습니다. 당신은Jquery CheckBox

$("input:checkbox") 

및 값을 사용하여 체크 박스를 선택할 수 있습니다 당신이

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

을 사용할 수 있습니다 와요 고마워요

+0

는 더 많은 컨텍스트를 줄 수 있습니까? "이것이"어디 있는지 명확하지 않습니다. – ChaosPandion

답변

6

변경합니다

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

하고 확인란을 선택하기위한 조건을 도와주세요 를 사용하여

당신이 진정한 속성 값을 가진 모든 확인란을 선택하려면

당신은

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

당신은 크게 이것으로 도움이되는 :checked 선택기를 사용할 수 있습니다 사용할 수 있습니다.

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

그러면 올바른 bool이 반환됩니다. attr('checked') 또는 val()을 반환하면 문자열로 끝날 수 있습니다. 원하는 문자열이 아닐 수도 있습니다.

1

교정 검사에 대한 trueundefined를 반환합니다 http://docs.jquery.com/Selectors/checked 참조 :

.attr("checked") 

반환합니다 (사실이) 확인하는 경우 "확인" "정의되지 않은" 확인하지 않은 경우.

당신이 원하는 경우 다음과 같이 뭔가를해야 참/거짓 A :

$("#checker").attr("checked")=="checked"