我在编辑/添加用户页面中有一个OrganisationName选择框。
<s:select key="user.organisationname" name="entity.organisationId" list="organisationList" listKey="organisationId" listValue="organisationName"></s:select>
两种登录用户类型(系统管理员和组织管理员)有两种情况。
1)现有用户,OrgnisationName将根据他/她的organisationId显示。
2)对于新用户,登录用户可以从选择框中选择任何所需的OrganisationName。
系统管理员,选择框将显示所有组织名称。 但对于Organisatoin Admin,选择框将仅显示其相关的组织名称。
我的问题是我使用if if来检查登录用户是系统管理员还是组织管理员。如果登录用户是组织管理员,我禁用了选择框。
问题从这一点开始。当我禁用选择框时,我可以看到正确的OrganisationName。但当我保存已编辑的用户时,从选择框返回的organisationId始终为0。
即使我禁用了选择框,如何传递正确的值?
另一个问题:是否有任何方式可见=“false”,select标签的类似属性?
感谢。
答案 0 :(得分:1)
通过
使<s:select />
只读/不可更改
<s:select
onfocus="this.defaultIndex = this.selectedIndex;"
onchange="this.selectedIndex = this.defaultIndex;"
/>
或
表单提交时启用<s:select disabled="true" />
<s:form onsubmit="document.getElementById('sltOrgAdmin').disabled = false">
<s:select id="sltOrgAdmin" disabled="true" />
</s:form>
visible = "false"
相当于css中的visibility: hidden;
<s:select cssStyle="visibility: hidden;" />