2014-01-14 4 views
1

ASP.NET WebForms 4,51, JQuery 2.0.3Checkbox всегда возвращается ложь даже при проверке

<div class="row"> 
    <div class="col-xs-3 col-sm-3 col-md-3"> 
    <div class="checkbox"> 
     <label> 
     <asp:CheckBox ClientIDMode="Static" ID="chkAgree" runat="server" />I Agree 
     </label> 
    </div>  
    <br/> 
    <asp:CustomValidator ID="cfvAgree" runat="server" ValidationGroup="Default" ErrorMessage="Agree to terms and conditions." ClientValidationFunction="CheckTermsAndConditions" CssClass="label label-danger"></asp:CustomValidator> 
    </div> 

и Java Script:

<script type="text/javascript"> 
    function CheckTermsAndConditions(aSource, aArgs) { 

     if ($('#checkbox').prop('checked')) { 
      console.log("true"); 
      aArgs.IsValid = true; 
     } else { 
      console.log("false"); 
      aArgs.IsValid = false; 
     } 

    } 

</script> 

Вопрос заключается в том, что даже если флажок он всегда возвращает false. Я уверен, что у меня отсутствует что-то очевидное здесь, но что это?

+2

похоже, что ваш флажок установлен неправильно. Try '$ ('# chkAgree'). Prop ('checked')' –

+0

@ArunPJohny Вы правы. Усталые глаза здесь. Благодарю. – TheEdge

ответ

1

На вашей странице нет идентификатора checkbox, поэтому я уверен, что ваш селектор ошибочен. Это должно быть #chkAgree

+0

Вы правы. Усталые глаза здесь. Благодарю. – TheEdge

0

это не должно быть

if ($('#chkAgree').prop('checked')) 

?

+0

К несчастью, дорман добрался до вас. Благодарю. – TheEdge

0

Если есть только один флажок на вашей странице, вы можете попробовать:

if ($("input:checkbox").prop('checked')) 

другого мудрого ваш селектор wrong.Give правильного ID для выбора.

+0

Ваш ответ будет работать, но я предпочитаю настроить таргетинг на конкретный флажок, если форма изменится позже. – TheEdge

Смежные вопросы