状況は次のとおりです。私の関数は、学生用のすべてのクラスのテーブルを含むモーダルを表示します。そのモーダルにはキャンセルボタンと却下ボタンの2つのボタンがあります。ユーザーが[Dismiss Student]ボタンをクリックした場合、私は自分の関数が知り、attendeeClasses
のデータを取得し、それに基づいて行動するようにしたい(基本的には、各クラスをループし、その学生を解雇としてマークする)。Bootstrap Modalの特定のボタンがJQuery関数でクリックされたかどうかを確認する方法はありますか?
ボタンのクリックイベントのイベントハンドラを作成する必要があると思っていましたが、この関数内にそのハンドラを配置する必要はありませんでしたか?つまり、ハンドラがこの関数(モーダルを表示する関数)の外側にある場合、ハンドラはデータ(クラスのリストのような)にアクセスできません。私はJQueryにとって少し新しく、イベントハンドラとモーダルを表示する関数の両方がそれにアクセスできるようにグローバル変数を設定する方法があるかどうかはわかりません。参考のため
<!-- Modal HTML -->
<div id="dismissalModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Confirmation</h4>
</div>
<div class="modal-body">
<p>Are you sure you want to dismiss the student from these classes?</p>
<p class="text-warning"><small>Press Cancel to leave this dialog.</small></p>
<table id="attendeeClasses">
<thead><tr><th>Date</th><th>Attendee</th><th>Topic</th></tr></thead>
<tbody></tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" id="dismissBtn">Dismiss Student</button>
</div>
</div>
</div>
</div>
:ここに表示されますブートストラップモーダルのPICだ。ここ
function GetAllClassessForAttendee(classAttendeeId, attendanceStatus, topicAttendanceId) {
var classesTable = $("#attendeeClasses tbody");
$.ajax({
url: "/Class/GetAllClassAttendanceForEmployee/",
type: "GET",
data: { classAttendeeId: classAttendeeId, topicAttendanceId: topicAttendanceId, attendanceStatus: attendanceStatus, __RequestVerificationToken: $('input[name=__RequestVerificationToken]').val() },
beforeSend: function (jqXHR, textStatus) {
$("#loadingImage").show();
},
complete: function (jqXHR, textStatus) {
$("#loadingImage").hide();
},
success: function (attendeeClasses) {
$.each(attendeeClasses, function(i, attendeeClass) {
classesTable.append(
'<tr><td>'
+ attendeeClass.Date
+ '</td><td>'
+ attendeeClass.EmployeeName
+ '</td><td>'
+ attendeeClass.Topic
+ '</td></tr>'
);
});
// Display a list of attended classes in Bootstrap modal
$("#classes").dataTable({
"bRetrieve": true,
"bPaginate": false,
"bFilter": false,
"aoColumnDefs":[
{"aTargets": [ "_all" ], "bSortable": false}
]
});
$("#dismissalModal").modal('show');
// If dismiss button is clicked
// handle the dismissal of student
// from each class
// TODO: Insert code here
},
error: function (xhr, ajaxOptions, thrownError) {
if (xhr.responseText !== "") {
alertify.alert(xhr.responseText);
alertify.error(xhr.responseText);
}
}
});
}
が表示されますモーダルのためのHTMLです:
は、ここに私のjQueryの
あなたは正しいです、私はそこに#attendeeClassesを持つことを意味しました。私は古いコードを貼り付けた。 また、ご協力いただきありがとうございます。私は、タイマーが立ち上がるとすぐに答えとしてマークします。 – Kevin
問題ありません – ADyson