クリックされるたびにブートストラップモーダルをトリガーするリンククラスがあります。
<a class="ptdel" href="#myModalx" role="link" data-toggle="modal" id="668" title='Delete'>x</a>
<script type="text/javascript">
jQuery(document).ready(function(){
$(".ptdel").click(function(){
var pcid = $(this).attr('id');
if(pcid >= 40){
$("#myModalxLabel").html("Delete?"); //adds to modal display text
}
$("#modalButtonxy").addClass("del_"+pcid); //adds class to yes button
});
});
</script>
href="#myModalx" を使用すると、リンクをクリックするとモーダルがポップアップします。これはすでに Bootstrap で構成されています。
これは私のモーダルhtmlコードです...
<pre>
my modal id="myModalx"
my modal header id="modalHeadx"
my Yes button id="modalButtonxy" data-dismiss="modal" aria-hidden="true" class="" onclick="yesDel(this);"
my No button id="modalButtonxn" data-dismiss="modal" aria-hidden="true"
</pre>
私の DOM 対応コードでは、はいボタンにクラスを追加して、クリックされたリンクの ID を取得できるようにします。
以下のJavaScript関数を正しく呼び出しています...アラートが発生しています...しかし問題は、それがajaxから発生しないことです。コンソールにログがありません。私は PHP フレームワークに Yii を使用しています...そして、ここの URL コードは私の他の ajax 呼び出しで機能します。
function yesDel(thecl){
// alert("works");
var modalclass = thecl.attr('class');
var pid = modalclass.split("_").pop();
//should return true or false back from request
$.ajax({
url: '<?php echo CController::createUrl('/link/deletenow'); ?>',
type: "POST",
data: {linkid:pid,YII_CSRF_TOKEN: '<?php echo Yii::app()->request->csrfToken ?>'},
dataType: 'text',
success: function(data){
if(!!data){
$("#flashmid").show();
$("#flashmid").fadeIn(400).html('Delete Successful!');
$("#flashmid").fadeOut(400);
}
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
alert("error in deleting");
}
});
}
あらゆる種類のトラブルシューティングを手伝ってください。データベースの変更を定期的にチェックすると、投稿は実際に機能します...しかし、クリックしてユーザーが削除するために「はい」を選択した後にこれを機能させる必要があります。