Jsp属性DISABLE按条件

时间:2017-08-31 18:02:10

标签: javascript java jquery jsp jsp-tags

这次我有一个对象列表Product with attributes name,Category and quantity list。

在我的jsp标签中,我有以下选择:

<select name="quantity" onchange="this.form.submit()">

此选择用于更改产品数量并将新值发送到后端。 但我有一个案例,我需要禁用选择

<select name="quantity" onchange="this.form.submit()" disabled="true">

如何根据类别字符串值启用或禁用选择?

3 个答案:

答案 0 :(得分:1)

您可以使用JSTL核心代码<c:choose>

<c: choose>的工作方式类似于Java switch语句,因为它允许您在多种备选方案之间进行选择。如果switch语句包含case语句,则<c:choose>标记具有<c:when>个标记。正如switch语句具有指定默认操作的default子句一样,<c:choose>具有<c:otherwise>作为默认子句。

示例:

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
   <head>
      <title><c:choose> Tag Example</title>
   </head>
   <body>
      <c:set var = "salary" scope = "session" value = "${2000*2}"/>
      <p>Your salary is : <c:out value = "${salary}"/></p>
      <c:choose>

         <c:when test = "${salary <= 0}">
            Salary is very low to survive.
         </c:when>

         <c:when test = "${salary > 1000}">
            Salary is very good.
         </c:when>

         <c:otherwise>
            No comment sir...
         </c:otherwise>
      </c:choose>

   </body>
</html>

答案 1 :(得分:1)

如果您正在使用Jquery,则可以执行此操作以禁用选择。我添加了一个id以使其更容易。

添加id属性:

<select name="quantity" id="quantity" onchange="this.form.submit()">

通过jquery禁用:

$('#quantity').prop('disabled', 'disabled');

如果你正在使用它,你也可以通过JSTL禁用它。以前的答案提到选择,何时,否则标签,但这样的事情只需一个简单的 if 标签即可完成。

如果servlet设置的数量请求变量为空

<c:if test="${empty quantityVar}">
<select name="quantity" onchange="this.form.submit()" disabled="true">
</c:if>

如果servlet设置的数量请求变量不为空

<c:if test="${not empty quantityVar}">
<select name="quantity" onchange="this.form.submit()">
</c:if>

答案 2 :(得分:0)

您可以在JS中编写一个函数来禁用第二个选择,具体取决于您的第一个选择结果。

最好从以下链接开始介绍一些基础知识:

https://www.w3schools.com/js/tryit.asp?filename=try_dom_select_disabled