【问题标题】:Hide/Display a input field based on value from HtmlRadioButtonFor and make it mandatory if display根据来自 HtmlRadioButtonFor 的值隐藏/显示输入字段,如果显示则使其成为必需字段
【发布时间】:2017-09-12 16:14:23
【问题描述】:

我有一个场景,我有两个不同的 div,后者应该根据早期 div 的布尔值消失。如果单选按钮的值为 true,则后面的 div 应该是必填字段。

实际代码:

<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();
    }
});

我在上面尝试过,但没有运气。感谢您的宝贵时间!

【问题讨论】:

标签: javascript jquery html asp.net-mvc razor


【解决方案1】:

改成"True":

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

因为Boolean.ToString() 返回"True" 而不是"true"。所以这个值被添加到razor生成的radio中。

Why?

【讨论】:

猜你喜欢
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多