针对JSP下拉框select无法根据ID更改disable属性的问题

在JSP开发中遇到一个棘手的问题,即在script中使用getElementById修改select元素的disable属性无效。原因可能是script代码位于select元素之前,导致设置被覆盖。确保script放在select元素之后,可以正确实现根据ID动态更改disable属性的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JSP里有这么一段:

<s:select list="#{'A':'A队','B':'B队'}" disabled="true"
    name="queryTeam" id="queryTeam" emptyOption="false"
    cssClass="x-form-field-noborder" cssStyle="width:100%;"/>   

注:s:select与select的差别忽略

有的在script代码段明明已经按照自己的逻辑进行了document.getElementById("queryTeam").disabled=false;
或者document.getElementById("queryTeam").disabled=false;
的设置,然而发现怎么设置都无效

这时,除了检查id书写问题等等,观看一下script的位置也是必要的,如果script在select前面,那么script的设置违背select给覆盖掉,这也是我试了半天document.getElementById(id)也没有成功的原因

<td width="15%" align="left">
    <s:select list="#{'A':'A队','B':'B队'}" disabled="true"
    name="queryTeam" id="queryTeam" emptyOption="false"
    cssClass="x-form-field-noborder" cssStyle="width:100%;"/>   
</td>
<script type="text/javascript">
    var showTeam=document.getElementById("showTeam").value;

    if(showTeam=="true"){
        document.getElementById("queryTeam").disabled=false;
    }else{
        document.getElementById("queryTeam").disabled=true;
    }

按照这个顺序写就可以正常出现自己逻辑想出现的效果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值