2016-09-14 46 views
0

我從MySQL查詢中抓取數據,現在正試圖在我的模式中的<input>字段中顯示它,讓JS把它放在那裏,但無論什麼原因,我無法切換變量進入模態。我坦率地說沒有Javascript的線索,因此懷疑是一個問題。PHP + JS Modal - 以模態顯示值

PHP生成的HTML按鈕:

<td><button type=\"button\" class=\"btn btn-block btn-primary btn-xs\" data-toggle=\"modal\" data-target=\"#edit\" data-id=\"$id\" data-date=\"$date\">Edit</button></td> 

模態:

<!-- Modal --> 
<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title" id="myModalLabel">Edit Details</h4> 
     </div> 
     <div class="modal-body"> 
     <table class="table"> 
      <tr> 
       <?php 
       echo " 
        <td>ID No.: </td><input name=\"dataID\" value=\"\" /></td> 
        <td>Date: </td><input name=\"dataDate\" value=\"\" /></td>"; 
       ?> 
      </tr> 
     </table> 
     </div> 

     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" class="btn btn-primary">Save changes</button> 
     </div> 
    </div> 
    </div> 
</div> 
<!-- /.Modal --> 

的Javascript:

<script> 
$('#edit').on('show.bs.modal', function(e) { 
    var dataID = $(e.relatedTarget).data('id'); 
    $(e.currentTarget).find('input[name="dataID"]').val(dataID); 
    var dataDate = $(e.relatedTarget).data('date'); 
    $(e.currentTarget).find('input[name="dataDate"]').val(dataDate); 
}); 
</script> 

非常感謝

+0

你爲什麼不直接將數據放入模態的身體? – madalinivascu

+0

,因爲我有數百個條目,每個條目都帶有各自的編輯按鈕,然後應該載入我的模式。如果我不做JS解決方案,我不能將正確的$ id/$ date變量切換到輸入字段,而是始終只返回最後一個條目的變量。 – Armitage2k

回答

0

你的JavaScript代碼對我的作品,請用右鍵點擊 - >「查看地圖」確保$ ID和$日期是在印刷:

data-id=\"$id\" data-date=\"$date\" 

$('#edit').on('show.bs.modal', function(e) { 
 
    var dataID = $(e.relatedTarget).data('id'); 
 
    $(e.currentTarget).find('input[name="dataID"]').val(dataID); 
 
    var dataDate = $(e.relatedTarget).data('date'); 
 
    $(e.currentTarget).find('input[name="dataDate"]').val(dataDate); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
 
<!-- Latest compiled and minified CSS --> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 

 
<!-- Optional theme --> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 
 

 
<!-- Latest compiled and minified JavaScript --> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
 

 

 

 
<button type="button" class="btn btn-block btn-primary btn-xs" data-toggle="modal" data-target="#edit" data-id="abcabc" data-date="12-03-2014">Edit</button> 
 

 

 

 
<!-- Modal --> 
 
          <div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
 
           <div class="modal-dialog" role="document"> 
 
           <div class="modal-content"> 
 
            <div class="modal-header"> 
 
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
            <h4 class="modal-title" id="myModalLabel">Edit Details</h4> 
 
            </div> 
 
            <div class="modal-body"> 
 
            <table class="table"> 
 
             <tr> 
 
              <td>ID No.: </td><input name="dataID" value="" /></td> 
 
              <td>Date: <input name="dataDate" value="" /></td> 
 
             </tr> 
 
            </table> 
 
            </div> 
 

 
            <div class="modal-footer"> 
 
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
 
            <button type="button" class="btn btn-primary">Save changes</button> 
 
            </div> 
 
           </div> 
 
           </div> 
 
          </div> 
 
          <!-- /.Modal -->

+0

源打印正確的變量,只是爲了確保我通過jsfiddle運行它,它也可以。好像問題與我的網站/網絡主機有關。我應該包含哪些參考來運行代碼? Google Ajax,min-jquery,bootstrap,還有其他什麼? – Armitage2k

+0

好吧,我正在玩代碼,可以確認它在JSfiddle.net上工作,但我無法使其在我的網站上工作。那是什麼原因?我正在使用jquery 2.2.0和bootstrap 3.3.6。 – Armitage2k