JavaScript禁用选择选项

JavaScript禁用选择选项,javascript,select,hidden,Javascript,Select,Hidden,我有3个选择框,其中一个是其他2个的控件。 我的问题是,如果我从选项选择器中选择了选项2,则即使选项1框被隐藏,表单仍会尝试为选项1 select传递一些内容 来自模板柱的钉伤示例 www.blank.com/Main/NewCustomers/newappstodetails.asp?options=option2&varintBusinessTypeID=&varintBusinessTypeID=23 我应该只有一个varintBusinessTypeID。我需要选项1被禁用且不隐藏,以便

我有3个选择框,其中一个是其他2个的控件。 我的问题是,如果我从选项选择器中选择了选项2,则即使选项1框被隐藏,表单仍会尝试为选项1 select传递一些内容

来自模板柱的钉伤示例

www.blank.com/Main/NewCustomers/newappstodetails.asp?options=option2&varintBusinessTypeID=&varintBusinessTypeID=23

我应该只有一个varintBusinessTypeID。我需要选项1被禁用且不隐藏,以便它不会尝试传递某些内容


可以将“选择”的“名称”属性设置为空字符串

$(document).ready(function(){
    $('#option_selector').change(refresh_inputs);
    refresh_inputs();
});

function refresh_inputs() {
    var name = $('#option_selector').attr('name');
    var val = $('#option_selector').val();
    $('#' + name + ' div').hide();
    $('#' + name + ' div select').attr('name', '');
    $('#' + val).show();
    $('#' + val + ' select').attr('name', 'varintBusinessTypeID');
}

此外,您可能不希望DOM中的两个元素具有相同的ID varintBusinessTypeID。

首先,ID必须是唯一的,不能重复ID=varintBusinessTypeID

你可以用像

然后,要禁用select,可以在jQuery中使用属性use prop:

函数刷新输入{ var val=$“选项选择器”.val; $'[name=varintBusinessTypeID]'.hide.prop'disabled',true; $'varintBusinessTypeID-'+val.show.prop'disabled',false; } $“选项选择器”。更改刷新输入; 刷新输入; 函数刷新输入{ var val=$“选项选择器”.val; $'[name=varintBusinessTypeID]'.hide.prop'disabled',true; $'varintBusinessTypeID-'+val.show.prop'disabled',false; } 办公室选项 视网膜期权 请选择 办公室1 办公室2 办公室3 请选择 零售业1 零售业2 零售3
优秀,严格按照要求执行和工作。谢谢我!@Mex提供的方式效果最好,因为存储过程需要varintBusinessTypeID,因此为其选择活动的varintBusinessTypeID满足了这一要求。
$(document).ready(function(){
    $('#option_selector').change(refresh_inputs);
    refresh_inputs();
});

function refresh_inputs() {
    var name = $('#option_selector').attr('name');
    var val = $('#option_selector').val();
    $('#' + name + ' div').hide();
    $('#' + name + ' div select').attr('name', '');
    $('#' + val).show();
    $('#' + val + ' select').attr('name', 'varintBusinessTypeID');
}