使用选项列表作为 Ajax 调用的链接


Using Option list as links on Ajax Call

我是新手,所以如果这只是愚蠢的问题,我深表歉意。

我已经在 ajax 调用上使用选项标签作为链接挣扎了 2 天。我已经浏览了许多教程,但找不到与我的工作相关的任何解决方案。我在 SELECT 标签内有用于分页的选项列表......

SELECT 标记的代码如下所示:

         <select onchange="_change(this);">
                    <?php
                    $i = 1;
                    while ($lastpage >= $i):
                        ?>
                        <option  value="<?php echo $i?>"><?php echo $i; ?></option>
                        <?php
                        $i++;
                    endwhile;
                    ?>
                </select>

上面的 Html 代码工作正常,并根据每页记录显示页码。

SELECT 标签函数的可能 jQuery 代码是...

     function _change(id)
     {
            alert(id);
            $.ajax({
                Type: "GET",
                url: "index.php?pn="+id.value,
                data: id.value,
                success: function (result) {
                    $("pre").html(result);
                }
            });
        };

我已经提示 id 了解它实际收到的内容......我能够在ajax调用上获取id,但无法加载数据,并且地址栏中的路径保持不变。

ajax 调用上的 php 代码是这样的。

 if(isset($_GET['pn'])){
    $id=$_GET['pn'];
    echo $id." is id";
    my_func();//Calling Php function
  }

我正在调用从数据库加载数据的 php 函数,但这不起作用并给出一个致命错误,说调用未定义的函数 my_func();

提前致谢

到目前为止我搜索过的相关链接...

在<选项>标签中使用 HRF 链接

function _change(id)
    {
        alert(id);
        $.ajax({
            Type: "GET",
            url: "index.php?pn="+$(id).val(),
            data: $(id).val(),
            success: function (result) {
                $("pre").html(result);
            }
        });
    };

使用此修改后的代码。您必须使用 .val() 函数传递所选值。

更改

url: "index.php?pn="+id.value,
data: id.value,

url: "index.php?pn=" + $(id).val(),
data: $(id).val(),

更新:

顺便说一下,进行 ajax 调用不会更改 url,而不是您需要的 ajax 调用document.location.href = 'http://' + window.location.hostname + window.location.pathname + "?pn=" + $(id).val()

如果你能在开发工具中看到ajax调用,你的ajax调用没有错误(chrome/网络选项卡上的f12)

你说:

并给出一个致命错误,说调用未定义的函数 my_func();

那么你有一个名为 my_func 的函数吗?