web-dev-qa-db-fra.com

Comment obtenir les valeurs de données d'un modal bootstrap en utilisant jQuery ou javascript en cliquant sur bouton à l'intérieur du modal?

Je veux obtenir les valeurs de données d'un modal bootstrap en cliquant sur le bouton à l'intérieur du modal. Voici mon modal -

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                        <div class="modal-dialog">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                                    <h4 class="modal-title" id="myModalLabel">Cancel</h4>
                                </div>
                                <div class="modal-body"> 
                                    Are you sure you want to cancel this?
                                </div>
                                <div class="modal-footer">
                                    <button type="button" id="savebutton" class="btn btn-success" >Yes</button>  
                                    <button type="button" class="btn btn-danger" data-dismiss="modal">No</button>
                                </div>
                            </div>
                        </div> 
                    </div>

Et voici comment je passe les données au modal -

Mettre à jour -

    <button data-target='#myModal' id='link' data-toggle='modal' data-id="1"  class='btn btn-danger cancel_modal' style='font-size:10px;padding:2px 5px;color:white;' >Cancel 1</button>
    <button data-target='#myModal' id='link' data-toggle='modal' data-id="2"  class='btn btn-danger cancel_modal' style='font-size:10px;padding:2px 5px;color:white;' >Cancel 2</button>
    <button data-target='#myModal' id='link' data-toggle='modal' data-id="3"  class='btn btn-danger cancel_modal' style='font-size:10px;padding:2px 5px;color:white;' >Cancel 3</button>
    ...
    ..
    .
    <button data-target='#myModal' id='link' data-toggle='modal' data-id="n"  class='btn btn-danger cancel_modal' style='font-size:10px;padding:2px 5px;color:white;' >Cancel n</button>

Modal peut être appelé depuis n'importe lequel des nombreux boutons et je n'ai besoin d'obtenir que l'ID de données du bouton concerné. Par exemple, si je clique sur le bouton "Annuler 1", je devrais avoir data-id comme 1 après avoir cliqué sur le bouton "Oui" en mode modal.

Je veux obtenir la valeur de données modale du champ "id" qui est 1234 en cliquant sur le bouton "Oui" dans ce modal en utilisant jQuery ou javascript.

5
gauravparmar

J'ai modifié votre violon: http://jsfiddle.net/exr00e0d/

vous avez pris href. au lieu de cela j'ai pris la cible (modal).

$('.cancel_modal').click(function() {
   //alert('called');
    // we want to copy the 'id' from the button to the modal
    var href = $(this).data('target');
    var id = $(this).data('id');

    // since the value of href is what we want, so I just did it like so
    alert(href);
    // used it as the selector for the modal
    alert(id);
    $(href).data('id', id);
});
4
Abdul Rehman Sayed

En jQuery

$('#savebutton').click(function() {
    var id = $('#link').data('id');
    // if for some reason, the code above doesn't work,
    // $('#link').attr('data-id');
    console.log(id);
});

Modifier:

En regardant ton jsfiddle

$('#link').click(function() {
    // we want to copy the 'id' from the button to the modal
    var target = $(this).attr('target');
    var id = $(this).data('id');

    $(target).data('id', id);
});

$('#savebutton').click(function() {
    // now we grab it from the modal
    var id = $('#addBookDialog').data('id');

    console.log(id);
});
1
Craftein

essaye ça

function getid() {
var id=document.getElementById('savebutton').getAttribute("data-‌​id");
return id;
}

<button type="button" id="savebutton" class="btn btn-success" onclick="getid()" >Yes</button> 
1
user1844933