2017-08-25 3 views
0

Meine Checkbox gibt immer falsch zurück. Kann mir bitte jemand helfen.Dies ist mein html div.Checkbox.Ischecked gibt immer falsch

<div class="large-12 columns"> 
    <label for="Data_AlternatePhones[i]_IsPrimary"> 
     <input class="toggle_enabled hidden-field" id="Data_AlternatePhones[i]_IsPrimary" name="Data.AlternatePhones[i].IsPrimary" value="true" type="checkbox"> 
     <span class="custom checkbox"></span> 
     <input name="Data.AlternatePhones[i].IsPrimary" value="false" type="hidden">IsPrimary 
    </label> 
</div> 

Wenn das Kontrollkästchen aktiviert ist, wird die Seite Inspektor Code zeigt folgende html

Snippet
<div class="large-12 columns"> 
    <label for="Data_AlternatePhones[i]_IsPrimary"> 
     <input class="toggle_enabled hidden-field" id="Data_AlternatePhones[i]_IsPrimary" name="Data.AlternatePhones[i].IsPrimary" value="true" type="checkbox"> 
     <span class="custom checkbox checked"></span> 
     <input name="Data.AlternatePhones[i].IsPrimary" value="false" type="hidden">IsPrimary 
    </label> 
</div> 

Wenn das Kontrollkästchen nicht aktiviert ist, zeigt die Seite Inspektor Code folgende html

<div class="large-12 columns"> 
    <label for="Data_AlternatePhones[i]_IsPrimary"> 
     <input class="toggle_enabled hidden-field" id="Data_AlternatePhones[i]_IsPrimary" name="Data.AlternatePhones[i].IsPrimary" value="true" type="checkbox"> 
     <span class="custom checkbox"></span> 
     <input name="Data.AlternatePhones[i].IsPrimary" value="false" type="hidden">IsPrimary 
    </label> 
</div> 
Snippet

Meine Datenvariable im jQuery-Code gibt in beiden Fällen isPrimary = false aus.

var data = 
    { 
     customerGuid: $("#Data_CustomerGuid").val(), 
     contactInfoType: type, 
     contactInfo: $("#Data_AlternatePhones_"+i+"__PhoneNumber").val(), 
       isPrimary: $("#Data_AlternatePhones_" + i + "__IsPrimary").is(':checked'), 
    isPrimaryTest: $("#Data_AlternatePhones[" + i + "]_IsPrimary > span").is(':checked'),     
     contactInfoID: $("#Data_AlternatePhones_"+i+"__ID").val() 
    }; 

Image of the data i get in the developer tool

Bitte helfen Sie mir dies herauszufinden. Danke.

Dies ist meine tatsächliche Markierung in meiner cshtml-Datei.

 @if (Model.Data.AlternatePhones.Count > 0) 
     { 
      for (int i = 0; i < Model.Data.AlternatePhones.Take(2).Count(); i++) 
      { 
       <div style="float:right"> 
        <a data-reveal-id="[email protected](i)" class="fa fa-pencil-square-o" data-i="@i" data-contactinfotype="phone" ></a> 
        <a class="fa fa-trash-o deletecontactinfo" data-customer-id="@Model.Data.CustomerGuid" data-info="@Model.Data.AlternatePhones[i].PhoneNumber" data-contactinfotype="phone"></a> 
       </div> 
       <div> 
        @Model.Data.AlternatePhones[i].PhoneNumber       
        @if (Model.Data.AlternatePhones[i].IsVerified) 
        { 
         <div class="fa fa-user"><span class="verified">Verified Customer</span></div><br /> 
        } 
       </div> 
       <br /> 
       <div id="[email protected](i)" class="reveal-modal tiny" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> 
        <div class="form custom med-6 columns popupModal"> 
         <h2> 
          Edit Phone Number 
         </h2> 
         <form> 
          @Html.HiddenFor(x => Model.Data.CustomerGuid) 
          @Html.HiddenFor(x => Model.Data.AlternatePhones[i].ID) 
          <div class="row"> 
           <div class="large-12 columns"> 
            @Html.WrappedTextBoxFor(x => Model.Data.AlternatePhones[i].PhoneNumber, htmlAttributes: new { @class = "toggle_enabled" }) 
           </div> 
          </div> 
          <div class="row"> 
           <div class="large-12 columns"> 
            @*@Html.WrappedCheckBoxFor(x => Model.Data.AlternatePhones[i].IsPrimary, htmlAttributes: new { @class = "toggle_enabled" })*@ 

            <label for="Data_AlternatePhones[i]_IsPrimary"> 
             <input class="toggle_enabled hidden-field" id="Data_AlternatePhones[i]_IsPrimary" name="Data.AlternatePhones[i].IsPrimary" value="true" type="checkbox"> 
             <span class="custom checkbox"></span> 
             <input name="Data.AlternatePhones[i].IsPrimary" value="false" type="hidden">IsPrimary 
            </label> 

           </div> 
          </div> 
          <div class="row"> 
           <div class="large-12 columns"> 
            <input type="button" class="btnEditAlternatePhoneNumber button toggle_enabled" value="Save" /> 
            <button class="btnCloseEditAlternatePhoneNumber button toggle_enabled closediv">Cancel</button> 
           </div> 
           <a class="close-reveal-modal toggle_enabled">&#215;</a> 
          </div> 


         </form> 
        </div> 
       </div> 
      } 
     } 
+0

Aber ich bekomme die richtigen Daten für die anderen Eigenschaften wie customerGuid und contactInfo. Nur die Checkbox ist falsch – user2597617

+0

Dann können Sie uns die tatsächliche Markup-Ursache zeigen, denn was Sie uns zeigten, würde keiner dieser Selektoren entsprechen. – Taplar

+0

Woher bekommst du die Variable 'i'? Wenn Sie sich in einer Schleife befinden, beabsichtigen Sie das Datenobjekt zu überschreiben? –

Antwort

0

Ihr Eingabeelement wurde nicht richtig geschlossen. Eingabe-Tag schließen hinzufügen / am Ende Ihres Eingabeelements