一般的に:私が欲しいのは、PHPに本を含む順序付けられていないリストを出力させることです。ユーザーがタイトルの1つをクリックすると、詳細がDBから取得され、AJAXを使用してページに挿入されます。
javascriptを使用して<li>からタイトル値を取得する方法がわからないようです。そのため、それをAJAXに渡すことができます。
(サンプルコードを簡略化するために、AJAX部分を省略し、代わりにアラートを使用しています。)
<html>
<head>
<script type="text/javascript">
window.onload = function()
{
var shelve = document.getElementById( 'books' );
var books = shelve.getElementsByTagName( 'li' );
for( var i=0; i < books.length; i++ ){
books[i].onclick = function(){
alert(books[i].title); //I know this doesn't work
};
}
}
</script>
</head>
<body>
<div id="txtHint"><b>Book info will be listed here using AJAX.</b></div>
<?php show_allBooks(); ?>
</body>
</html>
<?php
function show_allBooks(){
db_connect();
$query = "Select * from tblBooks order by title";
$result = mysql_query($query);
echo "<ul id='books'>";
while ($row = mysql_fetch_array($result))
{
echo "<li title='" . $row['id'] . "'>" . $row['title'] . "</li>";
}
echo "</ul>";
db_close();
}
?>
次のコードのバリエーションをいじってみましたが、これもうまくいかなかったようです。
books[i].getAttribute("title")
誰かが私を正しい方向に向けることができますか?どんな助けでも大歓迎です。