如何基于下拉框重新加载页面

时间:2011-07-27 15:33:01

标签: java javascript jquery html ajax

我有一个包含动态填充表的jsp页面。填充表格的数据将由下拉框决定。我认为这可以在javascript中完成,但不幸的是,我并不精通JS。所以这里有一些示例代码:

      <p> Please select a number:
    <select name="selectNumber" id="selectNumber">
      <option value="1" <%if (number.equals("1")) {%>selected<%}%>>1</option>
      <option value="2" <%if (number.equals("2")) {%>selected<%}%>>2</option>
      <option value="3" <%if (number.equals("3")) {%>selected<%}%>>3</option>
      <option value="4" <%if (number.equals("4")) {%>selected<%}%>>4</option>
      <option value="5" <%if (number.equals("5")) {%>selected<%}%>>5</option>
      <option value="6" <%if (number.equals("6")) {%>selected<%}%>>6</option>
    </select>
  </p>

所以我使用这样的下拉列表,并获得如下参数编号:

if (request.getParameter("selectNumber") !=null) {number =    (String)request.getParameter("selectNumber")     ;}

所以基本上我想知道是否有一个脚本,一旦选择了一个下拉列表,我可以重新加载页面,这将允许我用给定的“数字”填充我的表?另外,我不反对用AJAX / jQuery做这个,我只需要一些提示,因为我以前从未使用过AJAX调用。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码使用JavaScript更改页面位置(JavaScript重定向):

window.location = 'http://server.com/page.asp';

将该代码附加到选择框的onchange事件,它将重定向到页面。您可能还希望将onclick事件附加到选择框中的每个选项,因为onchange事件仅在选择框失去焦点时触发。您可以通过GET发送代表所选选项值的数据。

请参阅下面的示例。请注意onchange(附加到选择)和onclick(附加到选项)。

<select name="selectNumber" id="selectNumber" onchange="window.location = 'http://server.com/page.asp?value=' + this.options[this.selectedIndex].value;">
  <option value="1" <%if (number.equals("1")) {% onclick="window.location = 'http://server.com/page.asp?value=' + this.value;">selected<%}%>>1</option>
  ...
</select>