2017-03-31 87 views
1

我有JSP页面和下拉列表以编程方式填充。 现在,在某些情况下是下拉应该被禁用,但用户应该仍然能够看到它的所有元素,但实际上并不能选择它,是这样的:https://jsfiddle.net/nenadbulatovic/6g4pmmpv/1/下拉列表显示所有元素,但禁用选择

<select> 
    <option value="Select...">Select...</option> 
    <option disabled value="volvo">Volvo</option> 
    <option disabled value="saab">Saab</option> 
    <option disabled value="mercedes">Mercedes</option> 
    <option disabled value="audi">Audi</option> 
</select> 

显然是有状态我不能只是禁用下一个选项。

这是代码(下拉式)的实际部分,我需要它。

<div class="row-fluid"> 
    <div class="span3"> 
     <label><%=Constants.REQUIRED%>&nbsp;<c:out value="${requestScope.RESOURCES_MAP.SITE_PARENT}"/>:</label> 
     <select class="selectpicker" data-width="100px" id="siteParentNameSelect" style="width:250px;margin-bottom:0px;"> 
      <option value=''>${requestScope.RESOURCES_MAP[SELECT]}</option> 
      <c:forEach var="siteParentName" items="${siteParentNameList}"> 
      <option value="${(pageContext.request, siteParentName.id)}" ${siteParentName.id == '0' ? 'selected = "selected" ' : ''}> ${siteParentName.name}</option> 
      </c:forEach> 
     </select> 
    </div> 
    </div> 

我应该检查是否像“enabledFlag”一些条件,然后如果这是真的/假的启用/禁用其选择的元素。

编辑:我只能使用JSP/JSTL,JavaScript的,JQuery的

回答

1

您应该使用角ng-disabled指令:

<select> 
    <option value="Select...">Select...</option> 
    <option ng-disabled=flag value="volvo">Volvo</option> 
    <option ng-disabled=flag value="saab">Saab</option> 
    <option ng-disabled=flag value="mercedes">Mercedes</option> 
    <option ng-disabled=flag value="audi">Audi</option> 
</select> 

欲了解更多信息:https://www.w3schools.com/angular/ng_ng-disabled.asp

编辑:

不幸的是,我对JSTL不太熟悉,但是你不能做这样的事吗?

<option value="mercedes" <c:if test="${flag}"><c:out value="disabled='disabled'"/></c:if>"> 
+0

谢谢,但不能使用AngularJS,我们使用jQuery –

+1

@NenadBulatovic我编辑了我的答案。 –

+0

谢谢,您的JSTL解决方案正常工作。 –

相关问题