2014-06-21 3 views
0

MVC 4 웹 응용 프로그램에서 부트 스트랩 theam을 사용합니다. 신청서에 체크 박스가 있습니다. 내 면도 코드iCheck-helper 체크 박스에서 체크 된 상태를 얻을 수 없습니다.

을 참조하십시오.

<div class="form-group"> 
    <div class="checkbox"> 
      <label> 
       @Html.CheckBoxFor(model => model.NeedsRepacking)Needs Repacking 
      </label> 
    </div> 
</div> 

그러나 웹 브라우저에는 체크 박스 렌더링이 없습니다. 렌더링 된 코드를 참조하십시오.

<div class="form-group"> 
    <div class="checkbox"> 
     <label class=""> 
      <div class="icheckbox_minimal-blue" style="position: relative;"><input data-val="true" data-val-required="The NeedsRepacking field is required." id="NeedsRepacking" name="NeedsRepacking" type="checkbox" value="true" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background-color: rgb(255, 255, 255); border: 0px; opacity: 0; background-position: initial initial; background-repeat: initial initial;"></ins></div><input name="NeedsRepacking" type="hidden" value="false">Needs Repacking 
     </label> 
    </div> 
</div> 

확인란을 선택하면 div 클래스가 icheckbox_minimal-blue checked으로 변경됩니다.

<div class="form-group"> 
    <div class="checkbox"> 
     <label class=""> 
      <div class="icheckbox_minimal-blue checked" style="position: relative;"><input data-val="true" data-val-required="The NeedsRepacking field is required." id="NeedsRepacking" name="NeedsRepacking" type="checkbox" value="true" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background-color: rgb(255, 255, 255); border: 0px; opacity: 0; background-position: initial initial; background-repeat: initial initial;"></ins></div><input name="NeedsRepacking" type="hidden" value="false">Needs Repacking 
     </label> 
    </div> 
</div> 

그러나 확인란의 선택 상태를 가져올 수 없습니다. 도와주세요.

+0

여기에서 맞춤 방법을 사용하고 있습니까? 기본 'CheckBoxFor' 메소드는 해당 마크 업을 생성하지 않습니다. –

답변

0

다음은 현재 작업하고있는 프로젝트의 복사/붙여 넣기/수정이며 iCheck 라이브러리와 동일한 문제가 있습니다. 이 솔루션은 100 % 테스트되지 않으므로 코드에 맞게 수정해야합니다.

<script type="text/javascript"> 
    $(document).ready(function() { 

     $(".checkbox > .icheckbox_minimal-blue > .iCheck-helper").click(function (e) { 
      var id = e.toElement.parentNode.firstChild.id; 

      var isChecked = $('#' + id).is(':checked'); 
      if (isChecked) 
      { 
       alert('Checked!'); 
      } 
    }); 
</script> 

N.B. 이 코드는 다시 최적화되고 최적화 될 수 있어야합니다.

관련 문제