onChange函数在选择选项时未传递ID

时间:2019-03-05 10:40:54

标签: jquery jsp

我想使用change函数或on('change', function(){})在页面中选择一个选项时,将ID从.jsp文件传递到.js。我的代码如下:

.jsp文件

<select class="form-control" id="access_user">
        <option selected disabled>Select User</option>
        <c:forEach var="user" items="${userList}" varStatus="">
               <option onchange="getUserID('this','${user.userId}')">${user.username}</option>
        </c:forEach>
</select>

我在.js文件中的功能如下:

$("#access_user").on('change', function getUserID(that, Uid) {
    console.log("User id = ", Uid)
});

我无法在.jsp文件中获得控制台中的Uid。

1 个答案:

答案 0 :(得分:1)

您的代码似乎是本机JS和jQuery的相当混乱的组合。

要实现所需的功能,只需将change事件处理程序 only 添加到select。您可以删除on*事件属性,因为应尽可能避免使用它们。

要获取所选的${user.userId},可以将其设置为value元素中的option。然后,您可以简单地使用jQuery代码的val()方法来检索它。试试这个:

<select class="form-control" id="access_user">
  <option selected disabled>Select User</option>
  <c:forEach var="user" items="${userList}" varStatus="">
    <option val="${user.userId}">${user.username}</option>
  </c:forEach>
</select>
$("#access_user").on('change', function() {
  var uid = $(this).val();
  console.log("User id = ", uid)
});