2016-09-24 37 views
0

尝试了几种不同的方式,但无法正确使用,现在您可以看到它们都混在一起了!这个JavaScript业务与15年前不一样!谢谢。MVC Javascript Toggle TextInputFor只读基于复选框的值语法?

@section scripts 
 
{ 
 
<script> 
 
    $(function() { 
 
     $("#cut").click(function() { 
 
      if (m.Fixture.IsCut.checked = true) 
 
      { 
 
       m.Fixture.BackOdds.readOnly == false; 
 
      } 
 
      else 
 
      { 
 
       m.Fixture.BackOdds.readOnly == true; 
 
      } 
 
     }); 
 
    }); 
 
</script> 
 
}
<div class="form-group"> 
 
     @Html.LabelFor(m => m.Fixture.BackOdds) 
 
     @Html.TextBoxFor(m => m.Fixture.BackOdds, new { @id = "BackOdds", @class = "form-control", @readonly = "readonly" }) 
 
    </div> 
 
    <div class="checkbox"> 
 
     <label> 
 
      @Html.CheckBoxFor(m => m.Fixture.IsCut, new { @id = "cut", @onchange = "AutoCalculateMandateOnChange(this)"}) Odds Cut? 
 
     </label> 
 
    </div>

回答

1

您需要参考您的元素(m.Fixture.IsCutm.Fixture.BackOdds是不是在你的DOM元素)

$("#cut").click(function() { 
    $('#BackOdds').prop('readonly', !$(this).is(':checked')); 
}); 
+0

哇 - 奇妙! – user6063812