Frage an modal-dialog, javascript, twitter-bootstrap – twitter bootstrap modal - wie man Daten an die Rückruffunktion weitergibt

0

Gibt es eine Möglichkeit, zusätzliche Daten an den Rückruf der modalen Bootstrap-Funktion zu übergeben?

Nehmen wir zum Beispiel an, mein Link, der zum Öffnen des Modals führt, enthält ein zusätzliches Attribut mit einigen nützlichen Daten. Wie könnte ich auf dieses Attribut verweisen?

HTML

<span listid="80" href="#editTaskList" data-toggle="modal" class="btn btn-mini right"><i class="icon-edit"></i> Edit Task List</span>

JS

$('#editTaskList').on('show', function () {
    // get the source of the click, and then get the data i need.
});

Deine Antwort

3   die antwort
3

Könnte das für dich funktionieren?

<span listid="80" href="#editTaskList" data-toggle="datamodal" class="btn btn-mini right"><i class="icon-edit"></i> Edit Task List</span>
var $editTaskList = $('#editTaskList');

$('body').on('click.modal.data-api', '[data-toggle="datamodal"]', function (e) {
    var $this = $(this);
    $editTaskList.data('anyAttr',$this.data('anyAttr'));
    $editTaskList.modal('show');
    e.preventDefault();
})

$editTaskList.on('show', function () {
    var myData = $editTaskList.data('anyAttr');
});
1

dass dies eine alte Frage ist, aber dies ist das erste, was ich bei Google gefunden habe. Deshalb möchte ich hier einige wichtige Informationen einfügen ...

Sie MÜSSEN Ihre Rückruffunktion an Ereignisse binden, BEVOR Sie das Modal aufrufen, zum Beispiel:

$('#modal').on('shown', function(){ 
     // Do something when the modal is loaded
});
$("#modal").modal();

Das ist sehr wichtig und hat mir sehr geholfen, also, hier ist es ...

1

So was -

<span id="modal_opener" data-extrastuff="stuff" listid="80" href="#editTaskList" data-toggle="modal" class="btn btn-mini right"><i class="icon-edit"></i> Edit Task List</span>

$('#modal_opener').click(function() {
    var stuff_i_want = $(this).attr('data-extrastuff');
});
Ja, das stimmt. Aber ich fühle mich wie ein Hack - die Verwendung des On-Show-Rückrufs ermöglicht es mir, die Ereignisse innerhalb der Funktion zu sequenzieren, anstatt eine Race-Bedingung gegen das separate Click-Ereignis zu stellen. Kristian

Verwandte Fragen