使用Option列表作为Ajax Call上的链接

时间:2014-11-14 09:27:29

标签: php jquery ajax

我是新手,所以如果这只是一个愚蠢的问题我会道歉。

我一直在使用选项标签作为ajax调用链接奋斗了2天。我已经完成了许多教程,但无法找到与我的工作相关的任何解决方案。我在SELECT标签中有OPTION列表用于分页...

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函数,该函数从数据库加载数据但是没有工作并发出fata错误,说调用未定义函数my_func();

提前致谢

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

using href links inside <option> tag

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

更改

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()

答案 2 :(得分:1)

如果您可以在开发人员工具中看到它(在Chrome /网络标签上的f12),则ajax调用中没有错误

你说:

  

并发出fata错误,说出调用未定义的函数   my_func,并将();

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