私のコードでは、PHPを使用して動的に製品リストを作成しており(画像を参照)、対応するものは非表示のフィールドlabels and image paths
に保存されます(PHPを使用)。document.ready ()メソッドで最初のリストアイテムとその注釈を最初の非表示を使用するように設定しますremarkとimagepathのフィールド。created dynamically
imagepath to img's src
label remarks
そしてlistitemをクリックして変更したい関数はこれらの値をimgに設定し、正しくラベル付けします(アラートを使用してチェック)が、関数が終了すると、image srcを設定し、innertextをdocument.ready()メソッドで設定されたデフォルトにコメントします
今私の質問は、javascript関数呼び出しで次回document.ready()が実行されるのを防ぐことができますか?
マイビュー: 画像がリロードされると、ページレンダリングが再度実行されるため、document.readyが再度呼び出され、これらの値がデフォルトに再度設定されます。
ノート :
画像とラベルのみが変更されているときはいつでも私のページはリロードされません
画像に表示されているリストは1つのグループであり、他のグループも動的に作成されます。
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>