根据HtmlRadioButtonFor中的值隐藏/显示输入字段,并在显示时使其成为必需字段 [英] Hide/Display a input field based on value from HtmlRadioButtonFor and make it mandatory if display
本文介绍了根据HtmlRadioButtonFor中的值隐藏/显示输入字段,并在显示时使其成为必需字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个场景,我有两个不同的div,后面的应该根据前面div的布尔值消失。如果单选按钮的值为true,则后面的div应该是必填字段。
实际代码:
< div class = row>
< div class =row col-lg-offset-2 top-buffer>
< h4>< < / span>< / strong>< / h4>
@Html强大>< span>就业提供< / span>< span class =text-danger> *< 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-bufferid =employeeNumber>
< ; div class =col-sm-2>< b>输入员工编号< / b>< / div>
< div class =col-sm-10>
@ Html.TextBoxFor(model => model.EmployeeNumber,new {@class =form-control})
< br />
< / div>
< ; / div>
< / div>
< script> ;
$(#employeeNumber)。hide(); ($(this).val()==true){
$(input [name ='IsOffered'])。 b $ b $(#employeeNumber)。show();
}
});
我上面试过,但没有运气。感谢您的时间!
解决方案
更改为True
:
$(#employeeNumber)。hide(); ($(this).val()===True){
$(input [name ='IsOffered'])。
$(#employeeNumber)。show();
} else {
$(#employeeNumber)。hide();
}
}) ;
因为 Boolean.ToString()
returs True
而不是true
。所以这个值被添加到由剃刀产生的 radio
中。
$ b 为什么?
I have a scenario where I have two different div's and the later should disappear based on boolean value from earlier div. if the radiobutton value is true, later div should be a required filed.
Actual Code:
<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();
}
});
I tried above, but no luck. Thanks you for your time!
解决方案
Change it to "True"
:
$("#employeeNumber").hide();
$("input[name='IsOffered']").on("change", function () {
if ($(this).val() === "True") {
$("#employeeNumber").show();
} else {
$("#employeeNumber").hide();
}
});
Because Boolean.ToString()
returs "True"
instead of "true"
. So this value is added to the radio
that is generated by razor.
这篇关于根据HtmlRadioButtonFor中的值隐藏/显示输入字段,并在显示时使其成为必需字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文