选定的s标签默认值和所选值之间的问题

时间:2011-09-12 07:29:31

标签: jsp struts2 drop-down-menu

我在编辑/添加用户页面中有一个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标签的类似属性?

感谢。

1 个答案:

答案 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;" />