JavaScript-将选定的下拉列表值传递给方法

时间:2018-09-02 00:23:14

标签: javascript eclipse jsp

这可能很简单,但是我试图从JSP页面的下拉列表中捕获选定的值,并将选定的值用作方法的参数。我可以在select标记中使用onchange事件来调用Java脚本函数并捕获值,但是我不确定如何将值发送到方法。我认为有一种方法可以通过基于Ajax的调用来实现,但是我不确定如何实现。这是我正在使用的测试代码的示例。谢谢。

function getSelected()
  {
    var selectedSource = document.getElementById("myselect").value;
        console.log(selectedSource);
  }


<select name="myselect" id="myselect" onchange="getSelected();">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="4">Four</option>
</select>

1 个答案:

答案 0 :(得分:1)

我编辑了答案,以使用jQuery将帖子包含到服务器中。

您的javascript函数有两个错误:

  • 首先,您调用getselected(),但函数名称为getSelectedSource();
  • 第二,您尝试找到sourceSystem,但是您的ID是myselect

使用jQuery进行HTTP发布,并发送参数myselect,例如,其值为selectedSource

在您的servlet中,您可以使用request.getParameter("myselect")

获取此参数
 <script src="http://code.jquery.com/jquery-1.5.js"></script>
 <script>
       function getSelected()
    {
      var selectedSource = $("#myselect").val();
          console.log(selectedSource);
          $.post("test", { myselect : selectedSource},
                   function(data) {
                     alert("Data Loaded: " + data);
                   });              
    }
  </script>

<select name="myselect" id="myselect" onchange="getSelected();">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="4">Four</option>
</select>