大家好日子。实现一个问题有问题。我有一些链接,比方说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为例。谢谢你的帮助。
答案 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'));
});