【问题标题】:send different value in jquery with hyperlink用超链接在jquery中发送不同的值
【发布时间】:2013-02-16 03:55:23
【问题描述】:

我正在做一个营销项目。有一些类别,如银行、学校和许多其他类别,我的 sql 数据库中有相同的表。现在我想显示用户单击哪个类别的结果。 我的 index.php

<?php
    $connection = mysql_connect('localhost', 'root', '');
    $db = mysql_select_db('market', $connection);
?>


<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>
<script type="text/javascript">
$('document').ready(function () {
    $('a').click(function () {
        var temp = $('a').attr('myval');
        $.post('fetch.php', {
            id: temp
        }, function (data) {
            $('#display').html(data);
            var temp = null;
        });
    });
});
</script>
</head>
<body>
    <ul>
        <li>
            <a href="javascript:return(0)" myval="school">
                <h3>school</h3>
            </a>
        </li>;
        <li>
            <a href="javascript:return(0)" myval="bank">
                <h3>Bank</h3>
            </a>
        </li>;
        <!--many more......-->
    </ul>
    <div id="display"></div>
</body>

它是我的 fetch.php

<?php
$connection = mysql_connect('localhost', 'root', '');
$db         = mysql_select_db('market', $connection);
$x          = $_POST['id'];
$safex      = mysql_real_escape_string($x);

$query = mysql_query("select * from $safex", $connection);

$result = "";

$result .= "<div id='display'>";
$result .= "<table border=\"1\">";
$result .= "<tr><th>Name</th><th>Password(encrypted)</th></tr>";
while ($row = mysql_fetch_array($query)) {
    $result .= "<tr><td> {$row['id']}</td>" . "<td> {$row['name']}</td></tr></p>";
}
$result .= "</table>";

$result .= "</div>";

echo $result;

?>

现在我的问题是当我点击任何链接时..它总是显示领带学校数据..但我想在不同的点击上显示不同的表格数据..所有表格的所有字段名称都是相同的.. 请帮忙....

【问题讨论】:

    标签: php javascript jquery html mysql


    【解决方案1】:

    你需要使用$(this)来获取被点击元素的属性。

    var temp = $(this).attr('myval');
    

    $(this) 指示触发事件的位置。同样,由于您使用的是锚节点,所以,也使用e.preventDefault() 并在事件处理函数中传递e 参数。

    【讨论】:

    • 是的..它的工作..感谢帮助..我犯了一个小错误..我忘记从中删除''...
    • @omnath this 已经在 javascript 中定义,也是一个保留字。因此,它不需要引号。
    【解决方案2】:

    在您的代码中,修改以下内容

    var temp = $('a').attr('myval');
    

    var temp = $(this).attr('myval');
    

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 1970-01-01
      • 2010-10-17
      • 2017-12-29
      • 2012-05-30
      • 2014-07-11
      • 2013-05-31
      • 2011-08-10
      • 2014-07-23
      相关资源
      最近更新 更多