[英]Passing data from an echoed php
我目前正在尝试将数据从我的服务器传递到我的主页。 我目前有我的 php 回显每个返回的结果:
while($row = mysql_fetch_array($result))
{
echo "<img class='s' id=" . $row['id'] . " src=QR/" . $row['src'] ".png>";
}
当我尝试在 id 之后添加一个字段 num 时:
<img class='s' id=(rowid) num=".$row['num']." .......
我使用时不确定
alert(this.num)
但
alert(this.id)
作品。 我怎样才能传递 num 值呢?
嘿大家,谢谢你的帮助,我已经包含了一个关于我如何解决这个问题的jsfiddle。 http://jsfiddle.net/3yzcx/4/
我不得不使用 jQuery 和 used.attr() 来定义我自己的名为 num 的属性并将其调用。
很简单。 id
是img
标签的有效属性。 num
不是。 您不能将任意属性分配给标签并期望它起作用。
如果您想将 PHP 数据传递给 javascript,请使用隐藏的表单元素或更简单的方式:
<?php
echo '<script type="text/javascript">';
echo 'var num = ' . $num . ';';
echo '</script>';
?>
当然我知道你在循环中,这只是一个例子。 你可以很容易地把它变成一个数组或其他东西。
添加属性不起作用。 您需要在<div>
中添加<input type=hidden value='num'>
或其他内容,其中num是您的数字数据。 您还需要通过给它一个 ID 来使输入字段可寻址:
echo("<input type=hidden id=\"$row[id]-num\" value='num'>");
此外,我看到一个结束div
标记,但没有开始标记。 你会想要解决这个问题!
从技术上讲,您不应该分配自定义属性。 由于讨论了数据前缀,Jcolebrand 的原始帖子值得一票。 但是,即使它在技术上不正确,您也应该能够使用 getAttribute() function 获取该值。
this.getAttribute("num");
这将在 Firefox 中工作,但在其他浏览器中不能保证。
我没有在 jQuery 之外尝试过这个,但在那个框架内你会使用
alert(this.attr("num"));
检索非标准属性。 也可以与普通的 javascript 一起使用,但我还没有尝试过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.