从链接接收值

时间:2015-06-01 04:57:59

标签: javascript php jquery html

大家好日子。实现一个问题有问题。我有一些链接,比方说5(但它可能不止于此)。每个链接都有id =“#link”,但我也有5个不同的变量。所以我需要一些如何在jquery中接收其中一个变量,具体取决于要点击的链接。我怎么才能意识到这一点?

<?php
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
printf ("<a href=\"\" id=\"#link\">link_a</a>");
printf ("<a href=\"\" id=\"#link\">link_b</a>");
printf ("<a href=\"\" id=\"#link\">link_c</a>");
printf ("<a href=\"\" id=\"#link\">link_d</a>");
printf ("<a href=\"\" id=\"#link\">link_e</a>");
?>

所以这里有5个变量 - a,b c d e和5个链接,所以我需要根据点击的链接重新获取其中一个变量;

$(document).on('click','#link',function() {

alert(result);
return false;
});

P.S。变量和链接的数量可以大于5.它可以是10或20.但我以5为例。谢谢你的帮助。

5 个答案:

答案 0 :(得分:1)

修改代码

<script>
  function get(){
  var m=$(this).val();
  alert(m);
  }
</script>
<?php
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
echo "<a href='' onclick=get() value=".$a." >link_a</a>";
echo "<a href='' onclick=get() value=".$b." >link_b</a>";
echo "<a href='' onclick=get() value=".$c." >link_c</a>";
echo "<a href='' onclick=get() value=".$d." >link_d</a>";
echo "<a href='' onclick=get() value=".$e." >link_e</a>";
?>

根据您的要求,它可以正常工作。

答案 1 :(得分:1)

您需要将数据存储在锚点(HTML)元素中。

Data attributes是要走的路。

PHP代码:

<?php
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
printf ("<a href=\"\" class=\"mylink\" id=\"#link\" data-variable=\"$a\">link_a</a>");
printf ("<a href=\"\" class=\"mylink\" id=\"#link\" data-variable=\"$b\">link_b</a>");
printf ("<a href=\"\" class=\"mylink\" id=\"#link\" data-variable=\"$c\">link_c</a>");
printf ("<a href=\"\" class=\"mylink\" id=\"#link\" data-variable=\"$d\">link_d</a>");
printf ("<a href=\"\" class=\"mylink\" id=\"#link\" data-variable=\"$e\">link_e</a>");
?>

HTML文档中的ID应该是唯一的。如果您需要冗余标识符,请使用类。

Javascript代码:

$(document).on('click','a.mylink',function() {
    //Use .attr() to get the data attribute.
    alert($(this).attr('data-variable'));
    return false;
});

答案 2 :(得分:1)

使用class代替ID(或仅使用a元素)并将PHP变量放入任何数据属性。

<?php
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
printf ("<a href='' class='link' data-value='" . $a ."'>link_a</a>");
printf ("<a href='' class='link' data-value='" . $b ."'>link_a</a>");
printf ("<a href='' class='link' data-value='" . $c ."'>link_a</a>");
printf ("<a href='' class='link' data-value='" . $d ."'>link_a</a>");
printf ("<a href='' class='link' data-value='" . $e ."'>link_a</a>");
?>

<script>

var a = document.getElementsByTagName('a');
a.onclick = function() {
    alert(this.getAttribute('data-value'));
    return false;
}

</script>

答案 3 :(得分:1)

您无法将相同的id分配给多个链接,以实现您需要使用的class功能 因为id需要是唯一的

<?php
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
printf ("<a href=\"\" class=\"link\" data-id=\"$a\">link_a</a>");
printf ("<a href=\"\" class=\"link\" data-id=\"$b\">link_b</a>");
printf ("<a href=\"\" class=\"link\" data-id=\"$c\">link_c</a>");
printf ("<a href=\"\" class=\"link\" data-id=\"$d\">link_d</a>");
printf ("<a href=\"\" class=\"link\" data-id=\"$e\">link_e</a>");
?>

<强> JS

$(document).on('click','a.mylink',function() {
    alert($(this).attr('data-id'));
//or you can directly use it as 
    alert($(this).data('id'));
    return false;
});

答案 4 :(得分:0)

$(document).on('click','#link',function() {
    alert($(this).attr('id'));
});