2016-09-14 8 views
0

私はMySQLクエリからデータを取得していますが、今はそれを私のモーダルの<input>フィールドに表示しようとしていますが、何らかの理由で私はハンドオーバーできません変数をモーダルに変換します。率直に言えば、Javascriptの手がかりがないので、そこに問題があると思われます。右、PHP + JS Modal - モーダルで値を表示

<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のコードは、私の作品に多くてください。

<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を

PHPは、HTMLボタンを生成しましたクリック - > "view sourse" $ 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、ブートストラップ、その他何か? – Armitage2k

+0

申し訳ありませんが、コードで遊んでいて、JSfiddle.netで動作することを確認できますが、私のウェブサイトで動作させることができません。その理由は何でしょうか?私はjQuery 2.2.0とブートストラップ3.3.6を使用しています。 – Armitage2k

関連する問題