このスニペットにはjavascript関数と、各行の内容をモーダルで表示するテーブルがあります。htmlテーブルの行からデータを取り込む
しかし、ビューボタンをクリックすると常に最初の値m_id
が表示されますが、対応する値が表示される必要があります。 $v
オブジェクトは期待されるデータを返すだけで問題はありません。
私はちょうどajaxの初心者ですから助けが必要です。
<script type="text/javascript">
function view_message(){
//alert("aa gyaksjhfjxvhk");
var m_id = document.getElementById('m_id').value;
var c_name = document.getElementById('c_name').value;
var message = document.getElementById('message').value;
alert(m_id);
//alert(loc);
$.ajax({
type: "POST",
url: "view_message.php",
data:
{ 'm_id' :m_id,
'c_name' : c_name,
'message' : message
},
success: function(data){
// alert("success");
$(".message_container").html(data);
}
});
}
</script>
foreach($v_message as $v)
{
echo '<tr>';
echo '<td>'.$v->time.'</td>';
echo '<td>'.$v->c_name.'</td>';
echo '<input id="m_id" name="m_id" value="'.$v->id.'" hidden />';
echo '<input id="c_name" name="c_name" value="'.$v->c_name.'" hidden />';
echo '<input id="message" name="message" value="'.$v->message.'" hidden />';
echo '<td data-toggle="modal" data-target="#myModal">';
echo ' <input type="button" id="view" onclick="view_message()" value="view"></input>';
echo '</td>';
echo '<td data-toggle="modal" data-target="#myModal1">
<a href="#"><span>Delete</span></a>';
echo '</td>';
echo '</tr>'; ?>
<div id="message_container">
</div>
IDは、文書内で一意である必要があり、私の答えはJavaScriptを使用しています。 http://stackoverflow.com/a/9454716/2181514あなたのforループは同じIDを持つ複数の項目を生成するので、$(#id')を実行すると最初の文字列が得られます –
...しかし、それらにmutiple idを取らせる方法 –