【问题标题】:How to link the anchor tags inside the table to a js function?如何将表格内的锚标记链接到 js 函数?
【发布时间】:2015-08-10 18:44:38
【问题描述】:

嗨 :) 我需要一些帮助。我有一个关于如何显示我的模式的问题,只需单击表格内的“查看位置”按钮。一旦我点击它,模态就会显示,但我不能这样做。这是我的代码:

echo "<td><a href='');\">View Location</a></td>";
echo "<td><a href='editPeople.php?id=".$query2['ID']."');\">Edit</a></td>";
echo "<td><a href='deletePeople.php?id=".$query2['ID']."' onClick=\"javascript:return confirm('Are you sure you want to delete this record?');\">Delete</a></td><tr>";

这是我的 js 来自免费来源:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css"
rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function ic() {
$("#btnShow").click(function ic() {
    $("#dialog").dialog({
        modal: true,
        title: "Google Map",
        width: 600,
        hright: 450,
        buttons: {
            Close: function ic() {
                $(this).dialog('close');
            }
        },
        open: function ic() {
            var mapOptions = {
                center: new google.maps.LatLng(14.8527393, 120.8160376),
                zoom: 18,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            }
            var map = new google.maps.Map($("#dvMap")[0], mapOptions);
        }
    });
});
});
</script>

我的问题在于这部分 echo "View Location"; 我不知道让它发挥作用。这里有人知道如何解决这个问题吗?感谢您的帮助!

【问题讨论】:

标签: javascript hyperlink tags anchor


【解决方案1】:

如果你使用 PHP,试试这个:

echo "<td><button id="btnShow">View Location</button></td>";
echo "<td><a href='editPeople.php?id=".$query2['ID']."');\">Edit</a></td>";
echo "<td><a href='deletePeople.php?id=".$query2['ID']."' onClick=\"javascript:return confirm('Are you sure you want to delete this record?');\">Delete</a></td><tr>";


<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css"
rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
$("#btnShow").click(function ic() {
    $("#dialog").dialog({
        modal: true,
        title: "Google Map",
        width: 600,
        hright: 450,
        buttons: {
            Close: function ic() {
                $(this).dialog('close');
            }
        },
        open: function ic() {
            var mapOptions = {
                center: new google.maps.LatLng(14.8527393, 120.8160376),
                zoom: 18,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            }
            var map = new google.maps.Map($("#dvMap")[0], mapOptions);
        }
    });
});
});
</script>

【讨论】:

  • 我试了一下,还是不行。它只是一个没有功能的简单按钮:(
  • 是的! jquery 函数 $("#btnShow").click() 将在您单击它时自动工作。在 javascript 中,您需要显式调用函数。它是 jquery。
  • 也请检查您的控制台是否有任何错误。让我们知道是否有任何错误...
  • 你能帮我看看怎么做吗?我是网络开发的初学者-_-
  • 打开 DevTool (CTRL+F12) 然后点击控制台选项卡。然后刷新您的网站。如果有的话,这个面板会列出 js 错误。
【解决方案2】:

jQuery 语法 $("#btnShow").click 表示“当点击了 ID 为 btnShow 的内容时。”

因此,通过为您的链接提供一个 btnShow 的 ID,您将触发该函数。

echo "<td><a href='' id='btnShow'>View Location</a></td>";
echo "<td><a href='editPeople.php?id=".$query2['ID']."');\">Edit</a></td>";
echo "<td><a href='deletePeople.php?id=".$query2['ID']."' onClick=\"javascript:return confirm('Are you sure you want to delete this record?');\">Delete</a></td><tr>";

如果您希望按钮具有手形光标,您可能需要echo "&lt;td&gt;&lt;a style='cursor: pointer;' href='' id='btnShow'&gt;View Location&lt;/a&gt;&lt;/td&gt;";

编辑:我想我误解了。如果您尝试根据人员弹出位置,并且没有页面更改窗口,则必须通过 AJAX 执行此操作。

PHP 类似于:

echo "<td><a href='' onclick='btnShow(".$query2['ID'].")'>View Location</a></td>";

基本上,上面的代码现在所做的是调用一个名为“btnShow(ID)”的 jquery 函数,您必须创建它。此函数将对 PHP 页面执行 AJAX 调用,该页面根据您传递的 ID 从服务器获取纬度和经度。成功后,它将调用您的“免费源”公式,将纬度和经度替换为从 AJAX 调用中检索到的值。

我意识到这听起来令人生畏,但 jQuery 使 AJAX 调用比听起来容易得多。我希望我现在有更多的时间为你输入一个函数,但我没有。不过,我希望这至少能让你朝着正确的方向前进!

编辑 2: 需要明确的是,您现在调用的函数 - 免费源函数 - 具有设定的纬度和经度。无论您单击哪个“查看位置”按钮,它都会始终显示相同的位置。如果你想这样做,那么我可以给你一个简单的脚本。

但是,如果您尝试根据人来更改位置,这会更深入,并且可以使用我在原始编辑中概述的方法来实现。

【讨论】:

  • 模态未显示。由于 href = ' ',仍然执行相同的页面。它不工作。
  • 页面不应该改变。您从免费来源发布的功能与表格在同一页面上,是吗?在$("#dialog").dialog({之前添加这行代码,看看函数是否被调用:alert("btnShow has been clicked.");
  • 什么也没发生。我感到非常绝望:(我现在压力很大,因为到目前为止我的“查看位置”按钮没用。顺便说一句,它是一个学校项目:)这就是为什么我希望这里有人可以帮助我。还是谢谢
猜你喜欢
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
相关资源
最近更新 更多