私は webdevelopment と AJAX にかなり慣れていないので、小さな問題に直面しています。基本的に、私は自分のウェブページにフォームを持っています。このフォームを送信すると、コントローラーに対して AJAX 呼び出しが行われ、必要なデータが返され、ページの html コンテンツが変更されます。
JS コード:
$(document).ready(function() {
$("#mydiv table tbody td").click(function() {
alert("You clicked my <td>!" + $(this).html() +
"My TR is:" + $(this).parent("tr").html());
});
$('#myform').submit(function()
{
try {
var host = $("#host").val();
var port = $("#port").val();
var username = $("#username").val();
var password = $("#password").val();
var database = $("#database").val();
$.ajax({
type: "POST",
url: "/management/connectDatabase",
dataType: "JSON",
data: "host="+host+"&port="+port+"&username="+username+"&password="+password+"&database="+database,
cache: false,
success:
function(data){
$('#mydiv').html(show_tables(data));
},
});
return false;
}
catch(e){
console.debug(e);
}
});
});
function show_tables(data)
{
var html = '<div id="mydiv">';
html += '<table class="display" id="example">';
html += '<thead><tr><th>Tables</th></tr></thead><tbody>';
for (var tablesCount = 0; tablesCount < data.tables.length; tablesCount++){
html += '<tr class=gradeA id="trtest">';
html += '<td id="tdtest">' + data.tables[tablesCount] + '</td>';
html += '</tr>';
}
html += '</tbody></table>';
html += '</div>';
return html;
}
フォームを送信すると、HTML が正しく生成され、コンテンツが表示されます。しかし、のエントリをクリックできません<table>
。さらに、自分のページのソースコードを表示したい場合、テーブルは表示されませんが、検証済みであってもフォームが表示されます。
誰かが私がここで間違っていることを説明してもらえますか?