0

我整天都在研究这个,似乎无法弄清楚。

我有一个名为Copy的 JSP 文件,其中包含 10 个元素的下拉列表。用户将被允许选择 1-10,这将是他们将为文档打印的份数。

<td>
    <select name="numCopiesList">
        <option onclick="setSelectedCopyValue('1');" value="1">1</option>
        <!-- Add if statements to determine which is the default value -->
        <option onclick="setSelectedCopyValue('2');" value="2">2</option>
        <option onclick="setSelectedCopyValue('3');" value="3">3</option>
        <option onclick="setSelectedCopyValue('4');" value="4">4</option>
        <option onclick="setSelectedCopyValue('5');" value="5">5</option>
        <option onclick="setSelectedCopyValue('6');" value="6">6</option>
        <option onclick="setSelectedCopyValue('7');" value="7">7</option>
        <option onclick="setSelectedCopyValue('8');" value="8">8</option>
        <option onclick="setSelectedCopyValue('9');" value="9">9</option>
        <option onclick="setSelectedCopyValue('10');" value="10">10</option>
</select>
 </td>

在这个 JSP 文件中,我还有一些 JavaScript 可以尝试帮助我。

function setSelectedCopyValue(<%String value;%>){
    <%=ACCESSJAVACLASS.setAttribute("selectedCopyValue", value)%>   
}

function getSelectedCopyValue(){
    return <%=request.getParameter("selectedCopyValue")%>; `
}

在它说的地方ACCESSJAVACLASS,我试图引用我的类命名AddAction,当用户按下添加按钮时,它负责做“东西”。此添加按钮将刷新显示所有内容的表单(这就是我尝试将此变量设置为存储在 java 类中的原因)。

在我的 AddAction 类中,我有:

private String selectedCopyValue = "1";
public void setSelectedCopyValue(String selectedCopyValue) {
    this.selectedCopyValue = selectedCopyValue;
}
public String getSelectedCopyValue() {
    return selectedCopyValue;
}

以及其他一些方法。

我想要做的是当用户点击下拉列表中的一个数字时,它会将 selectedCopyValue 更改为他们点击的数字。然后我希望下拉列表拉出 selectedCopyValue 并将他们刚刚选择的数字设置为默认值。这样,如果用户选择 4 个副本,然后按下添加,GUI 将被刷新,当它返回时,列表可以重新填充,其显示/默认值现在设置为 4 而不是 1,因此用户不必重新选择 4下一次。

4

1 回答 1

0

You have to submit your data, call servlet and refresh the page with new data OR submit using ajax call and refresh a page via Javascript/JQuery. You cannot call java code (server side) from javascript (client side) by the way how you do it.

于 2013-06-10T23:20:05.743 回答