根据HtmlRadioButtonFor中的值隐藏/显示输入字段,并在显示时使其成为必需字段 [英] Hide/Display a input field based on value from HtmlRadioButtonFor and make it mandatory if display

查看:401
本文介绍了根据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.

Why?

这篇关于根据HtmlRadioButtonFor中的值隐藏/显示输入字段,并在显示时使其成为必需字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆