現在、ニュースレタープロジェクトで作業中です。異なる要素と同じIDを使用したAjaxを使用したブートストラップモーダルポップアップ
"リスト"ページには、ブートストラップデータテーブルを持つすべてのメーリングリストが表示され、すべてのレコードに「アクション」アイコン(表示、編集、削除)があります。ユーザーが「ビュー」アイコンを押すと、その中に別のデータテーブルを持つブートストラップモーダルポップアップを使用して「メールリスト」のレコードを表示します。モーダル内部のデータを取得するには、Ajax関数を使用してデータベースに接続し、各要素の"data-row"属性を使用して行のIDを取得します。ここで
は私「リスト」ページコードであるあなたが呼ばれる属性がある見ることができるようデータ行がレコードのid、が含まれていますが、私は唯一の使用
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<th style="width:5%;">No</th>
<th>Nama Milis</th>
<th style="width:20%;">Jumlah email</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach ($milis as $milis){
?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $milis['nama'];?></td>
<td><?php echo $this->m_mailinglist->get_mail_milis($milis['id'])->num_rows();?></td>
<td>
<button type="button" id="view-button" class="btn btn-success" data-row="<?php echo $milis['id'];?>" data-toggle="modal" data-target=".email-modal"><i class="fa fa-eye" ></i></button>
<button type="button" class="btn btn-warning"><i class="fa fa-pencil"></i></button>
<button type="button" class="btn btn-danger"><i class="fa fa-trash"></i></button>
</td>
</tr>
<?php
$i++;
}
?>
</tbody>
私のレコードに同じ名前の "view-button"がありますが、これは問題ですか?
<button type="button" id="view-button" class="btn btn-success" data-row="<?php echo $milis['id'];?>" data-toggle="modal" data-target=".email-modal"><i class="fa fa-eye" ></i></button>
と、これは私は問題がクリックされ
をクリックした私のAjaxコード私はすべての単一の要素のデータ行属性を取得するためにGET_ATTRIBUTEを使用
$(document).ready(function(){
$("#view-button").click(function(e){
var id = e.target.getAttribute("data-row");
alert(id);
$('.loading').show();
$.ajax({
type:'POST',
cache:false,
url:'<?php echo base_url();?>Mailinglist/ajax_listemail',
data:{id:id},
success:function(data){
$('.loading').hide();
$('.modal-content').html(data);
},
async:false
});
});
});
です関数はレコードの最初のボタンでのみ機能し、残りのレコードは "id"アラートを表示せず、データを取得できません。これを行う最も単純なやり方のすべての解決策もありますか?ありがとう:)クリックボタン上のコードの下
使用してモーダルを削除.....クリック機能上の結果を得た後、これはモーダル –