0

我有以下情况

<select name="dropdown_Source" onchange="call()">
    <% for (int i=0 ; i < a1.length; i++) { if (a1[i]==n ull) break; %>
        <option value="<%=a1[i]%>">
            <%=a1[i]%>
        </option>
    <% } %>
</select>

<script>
    function call() {
        var source = document.forms[0].dropdown_source.value;
        // Now this 'source' value i have to pass to jsp function 
        <%
            Admin a = new Admin(); //this is class defined
            a.getResult(source); //but source is not resolved here
        %>
    }
</script>

我应该如何在 JSP 函数中传递这个source值? a.getResult()- 函数将返回我的下拉元素列表,并且我必须在另一个<option>标签中填充该列表。

4

3 回答 3

3

你不能这样做。在 JSP 页面已经编译并以response.

于 2013-05-11T12:34:11.710 回答
2

您不能混合使用 javascript 和 java 代码。当你这样做时

<%
            Admin a = new Admin(); //this is class defined
            a.getResult(source); //but source is not resolved here
        %>

这意味着代码片段将在服务器端处理,因为这是纯 java 代码。现在变量“source”不是 java 变量,而是一个 javascript 变量,当您的 html 页面在浏览器上加载时会出现。所以它是一个编译错误。

于 2013-05-11T13:28:12.937 回答
1

最好的办法是,一旦 javascript 执行,获取该源值并对您的服务器进行 AJAX 调用,处理它并将值发送回客户端,然后填充您的下拉列表。

于 2013-05-11T13:32:24.293 回答