0
これは非常に基本的な質問ですが、過去1時間ウェブをクロールした後でもコードを修正する方法がわかりませんでした。 データベースのカテゴリに関する情報を含む順序のないリストがあり、cat_idは主キーです。と外来のキーとしてcat_idとの件名テーブル、だから私は与えられたカテゴリーIDのためのajaxリクエストを介して主題のテーブルにアクセスしたい。以下は、カテゴリを生成するために使用したコードです。私は立ち往生していた場合、私は.. urlパラメータに一意のIDを送信するためにフェッチしたDOM要素を知っている おかげでいけない...ajaxを介してphamsにパラメータを渡す
<ul id="search_form">
<?php
$cat = Category::find_all();
foreach($cat as $category) {
echo '<li id="';
echo $category->cat_id;
echo '"><a href="subject.php?id=';
echo $category->cat_id;
echo'">';
echo $category->category;
echo '</a></li>';
}
?>
</ul>
<div id="results">
<!-- ajax contents goes here -->
</div>
Ajaxのファイルが
window.onload = init;
function init() {
if (ajax) {
if (document.getElementById('results')) {
document.getElementById('search_form').onclick = function() {
ajax.open('get', 'subject.php?id='+id); // subject.php?id=
// how will i pass the variable
ajax.onreadystatechange = function() {
handleResponse(ajax);
}
ajax.send(null);
return false;
}
}
}
}
function handleResponse(ajax) {
if (ajax.readyState == 4) {
if ((ajax.status == 200) || (ajax.status == 304)) {
var results = document.getElementById('results');
results.innerHTML = ajax.responseText;
results.style.display = 'block';
}
}
}
でされており、 the subject.php
<?php
//include("tpl/header.php");
include("includes/initialize.php");
?>
<h2></h2>
<?php
if (isset($_GET['id'])) {
$id= mysql_real_escape_string($_GET['id']);
$subject = Subject::find_subject_for_category($id);
foreach($subject as $subj) {
echo $subj->subject_title;
}
} else {
echo "No ID Provided";
}
?>
よく、私はjqueryものに慣れていません..私は成功する必要がありますか? – XoR
これは、ajax呼び出しが成功した場合にのみトリガーされるコールバック関数です。コードを記述したり、タスクを実行する他の関数を呼び出して、ajax呼び出しが返す「結果」を返します。空白のままにすることもできます。 {id:$( '#search_form:selected') – tmjam
$( "#search_form")をクリックします(function {){ $ .ajax { タイプ:GET、 url: "subject.php"、 .val()}、 成功:機能(結果){ $( "#結果")HTML(結果); //コールバック関数 } });} //このdoesntの仕事.. – XoR