Udało mi się dowiedzieć, jak pobrać zewnętrzny json i użyć go w modalu, używając ręcznie ustawionego identyfikatora w javascript.Uzyskiwanie identyfikatora z przycisku do modemu początkowego
Utknąłem na przekazywaniu id od przycisku do adresu javascript. Mój znacznik przycisku jest następujący;
<button type="button" class="btn btn-primary btn-sm modal-btn" data-id="10">Details</button>
Moje JS wygląda obecnie tak;
<script type="application/javascript">
$(document).ready(function() {
var table = $('#example').DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
"sRowSelect": "multi",
"aButtons": [ "select_all", "select_none" ],
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 1 ] }
]
}
});
$('#example tbody').on('click', 'tr', function (e) {
if($(e.target).is('.modal-btn')){
$('#fullDetails').modal('show');
var event = "details.php?id=" + ($(this).data('id'));
$.getJSON(event, function(data) {
$(".modal-title").text(data.title);
$(".modal-audience").text(data.audience);
$(".modal-leader").text(data.leader);
$(".modal-date").text(data.date);
$(".modal-start_time").text(data.start_time);
$(".modal-end_time").text(data.end_time);
$(".modal-details").text(data.details);
$(".modal-venue").text(data.venue);
$(".modal-cost").text(data.cost);
}, "json");
}else{
$(this).toggleClass('selected');
}
});
$('#button').click(function() {
alert(table.rows('.selected').data().length +' row(s) selected');
});
}); </script>
linia, w której występuje problem;
var event = "details.php?id=" + ($(this).data('id'));
Używam ($ (this) .data ('id')); aby spróbować pobrać atrybut id z przycisku, ale wciąż się nie udaje.
'$ (this)' będzie odwoływania się od 'tr' początkowe '.on (" kliknij "," tr ", funkcja (e)', użyj '.proxy()' lub po prostu użyj 'var event =" details.php? id = "+ ($ (e.target) .data ('id')); ' –