jquery dropdownlist,onchange重新加载页面使用ID为下拉值的Get请求

时间:2010-09-14 15:14:45

标签: javascript jquery

当有人在下拉列表中选择一个项目时,我想重新加载当前页面,其中包含查询字符串中所选项目中ID的值,如:

http://www.example.com/mypage?id=234

我该怎么做?

5 个答案:

答案 0 :(得分:22)

您可以使用Dutchie432提到的原始javascript版本或jQuery版本。

<select id="the_select">
  <option value="123">Go to 123</option>
  <option value="456">Go to 456</option>
<select>

<script type="text/javascript">
$(function(){
  $("#the_select").change(function(){
    window.location='http://www.domain.com/mypage?id=' + this.value
  });
});
</script>

答案 1 :(得分:10)

不需要jQuery。在这种情况下,基本的Javascript会很好。

只需在您的下拉列表中添加“onchange”事件

即可
<select onchange="doAction(this.value);">
  <option value="123">Go to 123</option>
  <option value="456">Go to 456</option>
<select>

然后,添加值更改时调用的函数

<script type="text/javascript"><!--
    function doAction(val){
        //Forward browser to new url
        window.location='http://www.domain.com/mypage?id=' + val;
    }
--></script>

OR紧凑版,没有单独的JS代码

<select onchange="window.location='http://www.domain.com/mypage?id=' + this.value;">
  <option value="123">Go to 123</option>
  <option value="456">Go to 456</option>
<select>

答案 2 :(得分:4)

<select id="items" onselect="javascript:reloadPage(this)">
  <option name="item1">Item 1</option>
</select>

脚本:

function reloadPage(id) {
   document.location.href = location.href + '?id=' + id.value;
}

答案 3 :(得分:0)

以下代码将验证

  • 如果不添加,则URL是否具有相应的参数。
  • 如果找到用新值替换参数的参数 选定的价值。
  • 重新加载页面。

                    
    public static <V,T> V getOrUseSupplier(Map<T, V> map, T key, Supplier<V> supplier) {
        return map.computeIfAbsent(key, k -> supplier.get());
    }
    

答案 4 :(得分:0)

最好是使用<form>,因为换句话说,所有字段都不会附加到网址中。在这个原因@BJ Patel希望在这里的另一个答案中解决这个问题 因此,如果您使用form,那么只要您在表单中有其他字段,在提交后所有追加并替换为新值,就会在URL中使用<form method="get" action="http://www.example.com/mypage" id="form"> <select id="the_select" name="id"> <option value="123">Go to 123</option> <option value="456">Go to 456</option> <option value="789">Go to 789</option> <select> </form> <script type="text/javascript"> $(function(){ $("#the_select").change(function(){ $("#form").submit(); }); }); </script> 。见:

<?
$servername = "localhost";
$username = "root";
$password = "";

try {
    $flash = new PDO("mysql:host=$servername;dbname=bazze2", $username, $password);
    $flash->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    /* Queries Start */
    $proff1s = $flash->query("SELECT topay FROM merge WHERE torecieve = {$_SESSION['id']}");
    foreach($proff1s as $proff1) {
        $proff2 = $flash->query("UPDATE user SET confirm = 0, tomerge = 'GH', recomit2 = 1, investement = investment2, clearedbalance = topay2  WHERE id = {$proff1['topay']} AND recomit2 = 0");
    }
    /* Queries End */

} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();

}

?>