Javascript 如何禁用s:动态选择

Javascript 如何禁用s:动态选择,javascript,struts2,Javascript,Struts2,当我尝试动态禁用时,它不会被禁用 document.getElementById('selectId').disabled=true document.getElementById('selectId')。disabled=true。应为: document.getElementById('selectId')。disabled=true 由于我的第一个答案中的错误,提供了一些额外信息: 禁用的属性可以接受任何值。 只要该属性存在,该元素将被禁用,无论其值如何 <input type=

当我尝试动态禁用时,它不会被禁用

document.getElementById('selectId').disabled=true

document.getElementById('selectId')。disabled=true。
应为:
document.getElementById('selectId')。disabled=true


由于我的第一个答案中的错误,提供了一些额外信息:

禁用的属性可以接受任何值。
只要该属性存在,该元素将被禁用,无论其值如何

<input type="text" value="This is disabled" disabled>
<input type="text" value="This is disabled" disabled="disabled">
<input type="text" value="This is disabled" disabled="true">
<input type="text" value="This is disabled" disabled="false">

<input type="text" value="This is not disabled">
这些属性也是如此:
选中(单选按钮和复选框)
已选择(选项)
nowrap(td)

如struts中所述,select元素的“disabled”属性的类型为“String”,我至少会尝试在代码中添加.disabled=“disabled;”,看看是否有效


我发现的另一个解决Struts与HTML问题的方法是。解决方案是在元素标记中使用属性
theme='simple'
(本例中是您的标记或其容器之一)。这使得HTML可以在Struts上完成其功能,而Struts则试图在显示时完成其功能。我建议您这样做,因为您可能会遇到一个幕后问题,Struts不喜欢您尝试使用的HTML“disabled”属性,并且无法正常启动。因此,尝试添加theme='simple'(或其他主题),看看是否有任何变化。

您能更清楚地了解动态的含义吗?我认为这应该是评论的一部分,而不是作为一个主题answer@UmeshAwasthi:我发现了我的错误(并将其包含在我的答案中,以备将来参考)。希望你更喜欢这个!其中一个带有select标记,它最终将被转换为等效的HTML代码。
document.formname.elementname.disabled = true; //disabled
document.formname.elementname.disabled = false; //enabled