Javascript 更改文本框的输入类onchange下拉列表

Javascript 更改文本框的输入类onchange下拉列表,javascript,asp.net-mvc-3,textbox,Javascript,Asp.net Mvc 3,Textbox,当下拉列表数据更改时,如何更改复选框的输入类,我遇到了一个问题 这是我的html标记: <p> <label for="ddlContType"> Contact Type</label> <span> @Html.DropDownList("ddlContType", new SelectList(ViewBag.

当下拉列表数据更改时,如何更改复选框的输入类,我遇到了一个问题

这是我的html标记:

           <p>
            <label for="ddlContType">
                Contact Type</label>
            <span>
                @Html.DropDownList("ddlContType", new SelectList(ViewBag.ContTypeList, "ID", "Display_Value",ContType), "[Please Select]",
            new Dictionary<string, object>
            {
                {"class","validate[required] inputLong"}
            })
            </span>
        </p>
        <p>
            <label for="txtContValue">
                Contact Value</label>
            <span>
                <input type="text" id="txtContValue" name="txtContValue" class="validate[required] inputLong"
                    value="" />`


如果您想在下拉列表更改时更改类,那么只需为“更改”事件添加一个侦听器。处理程序应根据需要更新类:

$("#ddlContType").on("change", function(ddl) {
    var textEl = $("txtContValue");
    if ($(ddl).val() == "Email") {
        txtEl.attr("class", "validate[required,custom[email]]");
    } else {
        txtEl.attr("class", "validate[required,custom[phone]]");
    }
});

如果您想在下拉列表更改时更改类,那么只需为“更改”事件添加一个侦听器。处理程序应根据需要更新类:

$("#ddlContType").on("change", function(ddl) {
    var textEl = $("txtContValue");
    if ($(ddl).val() == "Email") {
        txtEl.attr("class", "validate[required,custom[email]]");
    } else {
        txtEl.attr("class", "validate[required,custom[phone]]");
    }
});

我不确定您下拉列表的输出是什么样子的。让我假设它看起来像这样:

<select id="ddlContType" name="ddlContType">
     <option value="">-- Select --</option>
     <option value="1">E-mail</option>
     <option value="2">Phone Number</option>
</select>
class="validate[required,custom[email]]
老实说,我从未见过这样的事情:

<select id="ddlContType" name="ddlContType">
     <option value="">-- Select --</option>
     <option value="1">E-mail</option>
     <option value="2">Phone Number</option>
</select>
class="validate[required,custom[email]]

玩一下我的代码,看看什么适合你。jQuery API网站上有许多示例。

我不确定下拉列表的输出是什么样子。让我假设它看起来像这样:

<select id="ddlContType" name="ddlContType">
     <option value="">-- Select --</option>
     <option value="1">E-mail</option>
     <option value="2">Phone Number</option>
</select>
class="validate[required,custom[email]]
老实说,我从未见过这样的事情:

<select id="ddlContType" name="ddlContType">
     <option value="">-- Select --</option>
     <option value="1">E-mail</option>
     <option value="2">Phone Number</option>
</select>
class="validate[required,custom[email]]

玩一下我的代码,看看什么适合你。jQuery API网站上有许多示例。

谢谢。如果答案是肯定的,我以后会接受的。谢谢:D
$(“#ddlContType”).on(“更改”,函数(ddl){var textEl=$(“txtContValue”);if($(ddl).val()=“电子邮件地址”){txtEl.attr(“类”,“验证[必需,自定义[电子邮件]”);}if($(ddl).val()=“Facebook地址”){txtEl.attr(“类”,“验证”)[required,custom[email]];}else{txtEl.attr(“class”,“validate[required,custom[phone]]”;}})
Uncaught-TypeError:无法调用未定义hanks的方法“toLowerCase”..如果它运行,我稍后会接受答案..谢谢:D
$(“#ddlcontype”).on(“更改”,函数(ddl){var textEl=$(“txtContValue”);if($(ddl.val()=“电子邮件地址”){txtEl.attr(“类”,“验证[必需,自定义[电子邮件]”);}if($(ddl.val()=“Facebook地址”){txtEl.attr(“类”,“验证[必需,自定义[电子邮件]”);}else{txtEl.attr(“class”,“validate[required,custom[phone]]”;}}});
Uncaught TypeError:无法调用未定义的方法'toLowerCase'。谢谢您,先生@Brendan进行验证。.我在这里得到了这些,谢谢您,先生@Brendan进行了验证。.我在这里得到了这些,谢谢,它工作了