以下Javascript / jQuery会在选择下拉列表中的两个不同值之一时显示一个字段,但会隐藏该字段:
function HideShowChargeCode() {
var action = $('#<%=ddl_request_action.ClientID %>').val();
if (action == "3" || action == "4") {
$('#<%=pnl_charge_code.ClientID %>').show();
document.getElementById("<%=rfv_charge_code.ClientID %>").enabled = true;
} else {
$('#<%=pnl_charge_code.ClientID %>').hide();
document.getElementById("<%=rfv_charge_code.ClientID %>").enabled = false;
}
}
每个条件的第二部分应该控制验证,但它似乎没有按预期工作。我仍然遇到隐藏字段的问题,它仍在尝试验证。任何在隐藏字段时关闭验证的解决方案都非常感谢!
答案 0 :(得分:0)
你正在混合使用jQuery和vanilla JavaScript。尝试将代码更改为以下内容:
function HideShowChargeCode() {
var action = $('#<%=ddl_request_action.ClientID %>').val();
if (action == "3" || action == "4") {
$('#<%=pnl_charge_code.ClientID %>').show().prop("disabled", false);
} else {
$('#<%=pnl_charge_code.ClientID %>').hide().prop("disabled", true);
}
}
答案 1 :(得分:0)
Welp,我将其转换为C#函数,果然,一切都按预期工作:
protected void ddl_request_action_SelectedIndexChanged(object sender, EventArgs e)
{
var selected = ddl_request_action.SelectedIndex;
if (selected == 3 || selected == 4)
{
pnl_charge_code.Visible = true;
rfv_charge_code.Enabled = true;
}
else
{
pnl_charge_code.Visible = false;
rfv_charge_code.Enabled = false;
}
}