我正在下拉菜单,当我从下面的字段中选择一个时,它必须消失。我应该怎么做。我是Struts的新手。请帮我

<td>
    <s:select
      headerKey="none" headerValue="Select UI Controller"
      list="UiControllersMap"
      name="uiController"/>

    <s:fielderror fieldName="uiController" cssClass="customErrorMessage"/>
</td>

最佳答案

从您的问题中不能完全确定哪个字段需要消失:下拉菜单或下面的标签?让我们假设标签。

<td>
    <s:select
      id="dropDownId"
      headerKey="none" headerValue="Select UI Controller"
      list="UiControllersMap"
      name="uiController"
      onchange="hideField()"
      />

    <s:fielderror id="fieldId" fieldName="uiController" cssClass="customErrorMessage"/>
</td>
<script language="text/javascript">
   function hideField() {
      dropDown = document.getElementById("dropDownId");
      fieldError = document.getElementById("fieldId");
      if (dropDown && fieldError) {
         if (dropDown.options[dropDown.selectedIndex].text == fieldError.innerText) {
            fieldError.style.display='none';
         }
         else {
            fieldError.style.display='';
         }
      }
   }
</script>

10-07 17:16