2017-09-12 3 views
0

私は2つの異なるdivがあり、後のdivは以前のdivのブール値に基づいて消滅するシナリオがあります。 radiobutton値がtrueの場合、後のdivは必須フィールドにする必要があります。HtmlRadioButtonForの値に基づいて入力フィールドを非表示/表示し、表示する場合は必須にします

実際のコード:

<div class= row "> 
<div class="row col-lg-offset-2 top-buffer"> 
    <h4><strong><span>Is Employment Offered?</span> <span class="text-danger">*</span></strong></h4> 
     @Html.RadioButtonFor(model => model.IsOffered, true) @Html.Label("Yes") 
     @Html.RadioButtonFor(model => model.IsOffered, false) @Html.Label("No") 
     <br> 
</div> 
<div class="row col-lg-offset-2 top-buffer" id="employeeNumber"> 
    <div class="col-sm-2"><b>Enter Employee Number</b></div> 
     <div class="col-sm-10"> 
       @Html.TextBoxFor(model => model.EmployeeNumber, new { @class = "form-control" }) 
      <br /> 
     </div> 
    </div> 
</div> 

<script> 
$("#employeeNumber").hide(); 
$("input[name='IsOffered']").on("change", function() { 
    if ($(this).val() == "true") { 
     $("#employeeNumber").show(); 
    } 
}); 

私は上記の試したが、ない幸運。あなたのお時間をありがとう! "True"

+0

ASP.NET MVC 3での検証の完全ガイド - 第2部](https://www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-パート2) –

答えて

1

変更を:

$("#employeeNumber").hide(); 
$("input[name='IsOffered']").on("change", function() { 
    if ($(this).val() === "True") { 
     $("#employeeNumber").show(); 
    } else { 
     $("#employeeNumber").hide(); 
    } 
}); 

Boolean.ToString()ためreturs "True"の代わり"true"。したがって、この値は、かみそりによって生成されたradioに追加されます。 [ - あなたは `[RequiredIf]`、またはあなた自身を書きたい場合は例えば[確実な](http://foolproof.codeplex.com/)、条件属性を使用する必要が

Why?

+0

ありがとう!出来た。表示されているときにdiv #employeeNumberを必須にすることは可能ですか? –

+0

@Pradvaarcruz https://stackoverflow.com/questions/2417113/asp-net-mvc-conditional-validation – adiga

関連する問題