在我的代码中,我使用 PHP(见图片)动态创建了一个产品列表,当前的标签和图片路径
存储在隐藏字段(动态创建
使用 PHP)现在在 document.ready() 方法上我将第一个列表项的 imagepath 设置为 img 的 src
及其对 label remarks
的备注使用备注和图像路径的第一个隐藏字段。
在 listitem 上单击我想更改它我的函数将这些值设置为 img 并正确标记(使用警报检查)但是当函数结束时它将图像 src 和备注 innertext 设置为在 document.ready() 上设置的默认值方法
现在我的问题是我能否阻止 document.ready() 下次在 javascript 函数调用时执行
我的观点: 随着图像重新加载,页面渲染再次完成,因此再次调用 document.ready 并将这些值再次设置为默认值。
注意:
我的页面在任何时候都不会重新加载,只有图像和标签正在更改
图中显示的列表只是一组,其他组也是动态创建的。
PHP 中的服务器端代码
<?php
for($j=0;$j<count($productstr);$j++) {
$valuerem = $productstr[$j]["pcode"];
$idrem = "rem".$j.$grp;
$valueimg =$productstr[$j]["imgpath"];
$idimg = "img".$j.$grp;
echo "<input type='hidden' value='$valuerem' id='$idrem' />" ;
echo "<input type='hidden' value='$valueimg' id='$idimg' />" ;
}?>
<script>
$(document).ready(function() {
idrv < ? PHP echo $grp; ? > = 'rem0<?PHP echo $grp; ?>';
idmv < ? PHP echo $grp; ? > = 'img0<?PHP echo $grp; ?>';
$('#txt<?PHP echo $grp; ?>').text(document.getElementById(idrv < ? PHP echo $grp; ? ).value);
alert($('#txt<?PHP echo $grp; ?>').text());
$('#img<?PHP echo $grp; ?>').attr('src', document.getElementById(idmv < ? PHP echo $grp; ? > ).value);
alert($('#img<?PHP echo $grp; ?>').attr('src'));
});
function Change(id) {
idrv < ? PHP echo $grp; ? > = 'rem' + id;
idmv < ? PHP echo $grp; ? > = 'img' + id;
$('#txt<?PHP echo $grp; ?>').text(document.getElementById(idrv < ? PHP echo $grp; ? > ).value);
alert($('#txt<?PHP echo $grp; ?>').text());
$('#img<?PHP echo $grp; ?>').attr('src', document.getElementById(idmv < ? PHP echo $grp; ? > ).value);
alert($('#img<?PHP echo $grp; ?>').attr('src'));
return true;
}
</script>
警报仅用于测试值
客户端浏览器生成的代码
<tr>
<td width="220px" valign="top" align="left">
<input id="YN" type="hidden" value="true">
<input id="rem00" type="hidden" value="SPL FUNNEL 1">
<input id="img00" type="hidden" value="adminpanel/product_images/4f8e530154d74155.jpg">
<input id="rem10" type="hidden" value="SPL FUNNEL 2">
<input id="img10" type="hidden" value="adminpanel/product_images/4f8e53daf13e6156.jpg">
<input id="rem20" type="hidden" value="SPL FUNNEL 3">
<input id="img20" type="hidden" value="adminpanel/product_images/4f8e543100eaf157.jpg">
<input id="rem30" type="hidden" value="SPL FUNNEL 4">
<input id="img30" type="hidden" value="adminpanel/product_images/4f8e545a829e1158.jpg">
<script>
$(document).ready(function() {
idrv0 = 'rem00';
idmv0 = 'img00';
$('#txt0').text(document.getElementById(idrv0).value);
alert($('#txt0').text());
$('#img0').attr('src', document.getElementById(idmv0).value);
alert($('#img0').attr('src'));
});
function Change(id) {
$('#YN').val('false');
idrv0 = 'rem' + id;
idmv0 = 'img' + id;
$('#txt0').text(document.getElementById(idrv0).value);
alert($('#txt0').text());
$('#img0').attr('src', document.getElementById(idmv0).value);
alert($('#img0').attr('src'));
return true;
}
</script>
<ul>
<li>
<a id="00" style="text-decoration: none; text-size: 1.1em; color: "
onclick=" Change(this.id); alert($('#txt0').text()); alert($('#img0').attr('src'));">
SPL FUNNEL 1</a>
</li>
<li>
<li>
<li>
</ul>
</td>
<td valign="bottom" align="left" colspan="2">
<td width="110px" valign="bottom" align="left" style="width: 180px">
</tr>
最佳答案
您需要停止重新加载,如下所示。
$('a.availableProducts').click(function(e){
e.preventDefault();
// your code
});
关于php - $(document).ready(function(){ 每次在 Hyperlink 的 onclick 事件上执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828227/