2017-08-25 107 views
0

我的复选框总是返回false。有人可以帮助我。这是我的html div。Checkbox.Ischecked总是给出错误

<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> 

当复选框被选中,页面检查器的代码显示了以下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 checked"></span> 
     <input name="Data.AlternatePhones[i].IsPrimary" value="false" type="hidden">IsPrimary 
    </label> 
</div> 

如果没有选中该复选框,页面检查器的代码显示了以下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> 

我在jQuery代码中的数据变量在这两种情况下给isPrimary = false。

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

请帮我想出解决办法。 谢谢。

这是我在cshtml文件中的实际标记。

 @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

但我得到正确的数据为其他属性,如customerGuid和contactInfo。只有复选框是错误的 – user2597617

+0

然后,您可以向我们展示实际标记,因为您向我们展示的内容不匹配任何这些选择器。 – Taplar

+0

你从哪里得到变量'i'?此外,如果这是一个循环,你是否打算覆盖数据对象? –

回答

0

您的输入元素未正确关闭。关闭输入标签。 add /到您的输入元素的末尾