一尘不染

如何在JSP页面的选项标签上使用onClick()或onSelect()?

javascript

如何使用onClick()onSelect()搭配option标签?下面是我尝试实现的代码,但未按预期工作。

注意:listCustomer域对象列表在JSP页面中的位置。

<td align="right"> 
  <select name="singleSelect" "> 
     <c:forEach var="Customer" items="${listCustomer}" >
     <option value="" onClick="javascript:onSelect(this);> <c:out value="${Customer}" /></option>
                </c:forEach>
          </select>         
        </td>

如何修改它以检测到已选择了一个选项?


阅读 425

收藏
2020-05-01

共1个答案

一尘不染

标签既不支持onSelect()也不onClick()支持事件<option>。前者是指选择文本(即通过单击+在文本字段上拖动),因此只能与<text><textarea>标记一起使用。该onClick()事件可以与<select>标记一起使用-
但是,您可能正在寻找最好使用该onChange()事件的功能,而不是onClick()

此外,通过<c:...>标记的外观,您还尝试在纯HTML文档中使用JSP语法。那只是…不对。

回应您对这个答案的评论-我几乎无法理解。但是,听起来您想做的就是获取<option>用户选择时刚刚选择的标签的值。在这种情况下,您希望拥有以下内容:

<html>
 <head>
  <script type="text/javascript">

   function changeFunc() {
    var selectBox = document.getElementById("selectBox");
    var selectedValue = selectBox.options[selectBox.selectedIndex].value;
    alert(selectedValue);
   }

  </script>
 </head>
 <body>
  <select id="selectBox" onchange="changeFunc();">
   <option value="1">Option #1</option>
   <option value="2">Option #2</option>
  </select>
 </body>
</html>
2020-05-01