質問を詳しく説明しましょう。私はPHPとsmartyを使用しています。 私はquery-stringから値op=back
を得ています。しかし、これはPHPファイルが実行されるたびに起こることはないので、op=back
が値であれば、特定のリンク上でクリックイベントを開始する必要があります。今Smartyのファイルからのコードスニペットは、以下のようにされてクエリ文字列で受け取った値に応じてjQueryコードを実行する方法は?
<?php
include_once("includes/teacher-application-header.php");
prepare_request();
$request = empty($_GET) ? $_POST : $_GET ;
$op = $request['op'];
$objTeachClassSub = new TeacherClassesSubjects();
global $teacher_profile_from_session;
$teacher_id = $teacher_profile_from_session['TEACHER_ID'];
$teacher_classes_subjects = $objTeachClassSub->GetClassSubjectMappingsbyTeacherId($teacher_id);
$smarty->assign('teacher_classes_subjects', $teacher_classes_subjects);
$smarty->assign("op",$op);
$smarty->display("teacher-details.tpl");
?>
:今、私が達成したいものを上記のスマートでjQueryのコードを書くことです
{literal}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
</script>
{/literal}
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td align="left" valign="top">
<h3>Teacher Details</h3>
</td>
</tr>
</table>
<table width="99%" border="0" cellpadding="0" cellspacing="0" class="manage_box" >
<tr>
<td>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
<tr>
<td width="25%">
{if $teacher_classes_subjects}
{foreach from=$teacher_classes_subjects item="classes_subjects"}
<b><a href="#" id="{$classes_subjects.class_id}">{$classes_subjects.class_name}</a></b><br />
{if $classes_subjects.class_subjects}
<div id="class_subjects_{$classes_subjects.class_id}">
{foreach from=$classes_subjects.class_subjects item="class_subjects"}
<i><a id ="back" href="chapter_details.php?class_id={$classes_subjects.class_id}&cs_map_id={$class_subjects.cs_map_id}">{$class_subjects.subject_name}</a></i><br />
{/foreach}
</div>
<br />
{/if}
{/foreach}
{/if}
</td>
<td width="75%">
{if $chapter_details}
<ul>
{foreach from=$chapter_details item=chapter}
<li><a href="chapter_details.php?op=get_chapter_theory&chapter_id={$chapter.chapter_id}&class_id={$class_id}&cs_map_id={$cs_map_id}&chapter_title={$chapter.chapter_title}">{$chapter.chapter_title}</a></li>
{/foreach}
</ul>
{/if}
{include file=$file_to_show}
</td> aly what is
</tr>
</table>
</td>
<td align="left" id="subject_container" valign="top">
</td>
<td align="left" id="chapter_container" valign="top">
</td>
</tr>
</table>
私のPHPはファイルのコードスニペットを以下に示します。 op値が返された場合に実行されるテンプレートファイル(つまり、{op==back}
)。 op=back
クリックイベントには、次のリンクに火を取得する必要があるときに期待されている実際に何 は次のとおりです。
<a id ="back" href="chapter_details.php?class_id={$classes_subjects.class_id}&cs_map_id={$class_subjects.cs_map_id}">{$class_subjects.subject_name}</a>
誰もがこの機能を実現する方法を私に説明できますか?前もって感謝します。
リンク上でクリックイベントを発生させたいだけですが、どのURLにもリダイレクトしたくありません。リンクをクリックすると、リンクをクリックすると、クエリ文字列の形で値が渡されます。だからあなたのソリューションはこの問題にはあまり適していないようです。これ以外の良いアイデアはありますか? – PHPLover