mysqlクエリを実行するスクリプトがあり、を使用してテーブルにデータを入力します
$('#results').html(returnData);
mysqlの結果には、クリックして同じテーブルに再ロードする必要があるデータが含まれています(前のクエリを置き換えます)。
単純化して煮詰めると、次のコードは機能しません。
<head>
<script>
$(document).ready(function() {
$('.a').click(function() {
$('#results').html('THIS IS VALUE FROM LINK A <a href="#" class="b">B</a>');
});
$('.b').click(function() {
$('#results').html('THIS IS VALUE FROM LINK B');
});
});
</script>
</head>
<body>
<div id="results">THIS WILL BE REPLACED WITH VALUE FROM LINK A OR B</div><BR>
<a href="#" class="a">LINK A</a><BR>
<a href="#" class="b">LINK B</a>
リンクAまたはBをクリックするdiv id="results"
と、入力はOKですが、.html
クリック関数から返された結果の1つに同じリンクを配置すると、リンクが機能せず、divid"results"が再ロードされません。
だから私の質問は; なぜそれがうまくいかないのでしょうか?そして、すでに渡されたテーブル内でクリックしたものに基づいて、同じテーブルをリロードするための最良の方法は何でしょう.html()
か?クリックした値を新しいページに渡したくありません。
更新:これは.on()を使用して機能します
<script>
$(document).ready(function(){
$('body').on('click', '.a', function() {
$('#results').html('THIS IS VALUE FROM LINK A <a href="#" class="b">B</a>');
});
$('body').on('click', '.b', function() {
$('#results').html('THIS IS VALUE FROM LINK B');
});
});
</script>
</head>
<body>
<div id="results">THIS WILL BE REPLACED WITH VALUE FROM LINK A OR B</div><BR>
<a href="#" class="a">LINK A</a><BR>
<a href="#" class="b">LINK B</a>