2016-08-01 10 views
1

Ich kann Daten aus einem modalen $('#ID').on('shown.bs.modal', function (e) { var somevariable = e.id; }); mit dieser Methode ziehen, kann aber nicht herausfinden, wie man es mit einem Knopfklick macht.Wie werden ID-Daten mit einem JQuery-Button abgerufen?

Wenn das möglich ist, wie kann ich die Daten auch erben, wenn diese Schaltfläche das Modal öffnet?

http://www.bootply.com/jCXXE6chXu

$(document).ready(function(){ 
    $(".file_to_upload").click(function (data) { 
    //alert("works"); 
     var questionID = data.id; 
    alert(questionID); 
    $('[id*="uploaded_files_"]').modal('show'); 
    $('[id*="uploaded_files_"]').on('shown.bs.modal', function (e) { 
    $("#auditinstanceupload").html("<input id='audit_instance_id' name='audit_instance_id' value='"+questionID+"' type='hidden' style='display:none;'>"); 
    $("#auditidupload").html("<input id='audit_id' name='audit_id' value='"+questionID+"' type='hidden' style='display:none;'>"); 
    }); 
    }); 
}); 

<!-- 5 is a php row id for an example --> 

<a title="Upload file" href="#" id="5" 
class="btn btn-default file_to_upload" >upload button</a> 


<!-- modal pop up for [F] button --> 
<div class='modal fade' style='z-index:10000' id='uploaded_files_5' role='dialog'> 
    <div class='modal-dialog modal-lg'> 
    <div class='modal-content'> 
    <div class='modal-header'> 
    <button type='button' class='close' data-dismiss='modal' aria-hidden='true'></button> 
    <h4 class='modal-title'>Perform Audit</h4> 
    </div> 
    <div class='modal-body' id='perform_audit1'> 
    <form id='my_form' name='form' action='ajax/file_upload.php' method='POST' enctype='multipart/form-data' style=''> 
     <h1>Upload File</h1> 
     <div id='main'> 
     <strong>File: </strong><input name='myFile' id='myFile' size='27' type='file'> 
     <input id='my_button' name='action' value='Upload' onclick='uploadshow()' type='button'> 
     <input id='auditinstanceupload' style='display:none;' /> 
     <input id='auditidupload' style='display:none;' /> 
     <input id='question_id' name='question_id' value='$row[questionID]' type='hidden'> 
     </div> 
     <!--<input id='close_file_upload' value='Close' type='button'>--> 
    </form> 
    </div> 
    <div class='modal-footer'> 
    <form method = 'POST'> 
     <input type='button' id='yes_delete' value='Yes ' name='view_audits_delete' /> 
     <button type='button' class='btn btn-default' data-dismiss='modal'>No</button> 
     </form> 
     </div> 
    </div> 
    </div> 
</div> 
<!-- modal pop up for [F] file upload button -->    

Antwort

0

versuchen, diese

$(document).ready(function(){ 
    $(".file_to_upload").click(function (data) { 
    //alert("works"); 
     //var questionID = data.id; 
     var questionID = $(this).attr("id"); 
     alert(questionID); 
    $('[id*="uploaded_files_"]').modal('show'); 
    $('[id*="uploaded_files_"]').on('shown.bs.modal', function (e) { 
     $("#auditinstanceupload").html("<input id='audit_instance_id' name='audit_instance_id' value='"+questionID+"' type='hidden' style='display:none;'>"); 
     $("#auditidupload").html("<input id='audit_id' name='audit_id' value='"+questionID+"' type='hidden' style='display:none;'>"); 
    }); 
    }); 
}); 
+0

http://www.bootply.com/dKsvWQIEvo Ich gab den Bootply mit Ihrer Antwort für andere. :) –

2

shown.bs.modal ist im Grunde eine Funktion, wenn Bootstrap-modal vollständig geöffnet ist auszuführen, verwendet.

Wenn Sie eine Funktion auf einen Klick ausführen möchten, brauchen Sie diese Methode nicht. Dies ist für einen anderen Zweck. Sie können jQuery click() Funktion für diesen Zweck verwendet werden:

$("#modalButtonId").click(function() { 
    alert("Handler for .click() called."); 
    //write other methods here 
}); 

source

+0

Bitte zeigen Sie mir ein Beispiel, wie ich die ID ziehen kann, denn wenn Sie sich das Bootply-Beispiel ansehen, wird dies die ID-Daten nicht auf diese Weise abrufen. –

0

var QuestionID = $ (this) [0] .id

Dieser arbeitete für mich!

+0

Ich am Ende denke ich user5200704 Antwort sieht sauberer und ist spezifisch für JQuery. –

Verwandte Themen