我有一个网格的图像有它的HTML生成的PHP。每个图像都有一个onclick()函数,该函数的参数中有一个PHP变量。在HTML所在的页面上,我有一个Javascript函数,它使用onclick(arg)函数中的参数。
我已经开始使用jquery,我希望能够将这个onclick()函数更改为我的jquery函数,同时使用PHP页面中的PHP参数。
这是生成HTML的PHP文件中的代码,如您所见,有一个onclick函数,它的参数是一个数字:
Echo "<img src= '$link[Image_Link] . /133x100' id='$row[Item_Name]' title='$row[Item_Name]' class='clickableImage' alt='$just_name' onClick='addValue(". $credit_value .")' border=0 style='position: relative; top: 0; left: 0;'/>";
这是我在HTML页面上的Javascript函数,它只是改变页面上的一些文本:
function addValue(credits){
var value = document.getElementById("value").innerHTML;
value = parseInt(value, 10);
var totalValue = value+credits;
document.getElementById("value").innerHTML = totalValue;
}
我已经为点击这些图像设置了一个jquery函数,但是我希望能够使用PHP文件中的$credit_value
变量。这是我的jquery函数的开始:
$().ready(function () {
$('img.clickableImage').click(function () {
if ($(this).data('selected')) { ......
在echo语句中,放置一个自定义的data-*
属性,如
echo "<img data-credit='". $credit_value ."' src= '$link[Image_Link] . /133x100' id='$row[Item_Name]' title='$row[Item_Name]' class='clickableImage' alt='$just_name' border=0 style='position: relative; top: 0; left: 0;'/>";
然后在点击处理程序中像
那样访问它$('img.clickableImage').click(function () {
var credit = $(this).attr('data-credit');
});
您可以使用data-*
前缀自定义属性,设置值
echo "<img data-creditvalue='. $credit_value .' ......../>";
脚本,获取使用$.fn.data()
,因为你已经使用$(this).data('selected')
var creditvalue = $(this).data("creditvalue")
使用事件委托
$(document).ready(function () {
$(document).on('click', 'img.clickableImage', function () {
if ($(this).data('selected')) {
// here your code
}
});
});