ASP.复选框上的灰色字段= true

ASP.NET MVC Gray out field on checkbox = true

本文关键字:字段 true 灰色 复选框 ASP      更新时间:2023-09-26

我是一个javascript/jquery初学者。

我试图灰色,禁用,并改变一个文本框的背景颜色,当一个复选框被点击。我在网上找到了可行的解决方案,但在实施时遇到了困难。

下面是我正在使用的代码:
<% using (Html.BeginForm()) { %>
    <span id="errorMsg">
        <%:(ViewData["ErrorMessage"])%>
    </span>
    <div>
        <fieldset>
            <legend>Account Information</legend>
            <div class="editor-label">
                <%: Html.LabelFor(m => m.UserName) %>
            </div>
            <div id="UserName" class="editor-field">
                <%: Html.TextBoxFor(m => m.UserName) %>
                <%: Html.ValidationMessageFor(m => m.UserName) %>
            </div>
            <div id "Password" class="editor-label">
                <%: Html.LabelFor(m => m.Password) %>
            </div>
            <div class="editor-field">
                <%: Html.PasswordFor(m => m.Password) %>
                <%: Html.ValidationMessageFor(m => m.Password) %>
            </div>
            <div id="checkBox" class="editor-field">
                <%: Html.CheckBoxFor(m => m.UseNetworkCreds %>  Use Network Credentials
                <%: Html.ValidationMessageFor(m => m.UseNetworkCreds)%>
            </div>

            <p>
                <input type="submit" value="Log On" />
            </p>
       </fieldset>
    </div>
<% } %>

我如何修改这段代码来做我提到的?我希望复选框变灰/禁用用户名和密码文本框

在代码你是工作/已经写到目前为止我看不到任何javascript。为了实现你在问题中描述的目标,你需要编写一些javascript代码。例如,您可以订阅复选框的.change()事件,然后在两个输入字段上切换readonly属性,长度为:

$(function() {
    $('#UseNetworkCreds').change(function() {
        if ($(this).is(':checked')) {
            $('#UserName, #Password').attr('readonly', 'readonly');
        } else {
            $('#UserName, #Password').removeAttr('readonly');
        }
    });
});