2016-12-04 23 views
0

私はcodeigniterフレームワークでjquery ajaxを使用して、ボタンクリック時にポップアップモーダルを読み込みます。コントローラの関数にajaxリクエストを渡し、ポップアップモーダルに表示されるべきデータを受け取ります。モーダルのラベルの数は、ajaxリクエストで受け取った配列のサイズに依存します。forループを使用して複数のラベルフィールドをフォームに挿入します。

どうすればいいか分かりません。しかし、受信した配列のサイズを、ポップアップモーダルで作成されたフォームの隠し型入力フィールドに渡そうとしました。

以下は私のjavascriptです。私は成功していない以下のコードを使用し私のポップアップモデルで

<script type="text/javascript"> 

$(document).ready(function() { 

    $(document).on('click','#btn_more', function() { 
    empId = $('#employeeId').html(); 
    fiter_employees(empId); 
    }); 

    function fiter_employees(empId){ 

    var empSet ={ 
     empId: empId, 
     method: 'ajax' 
    }; 

    var empSentUrl = 'http://localhost/eventmanagementsystem/index.php/employee/get_emp_positions'; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'json', 
     url: empSentUrl, 
     data: empSet, 

     success: function(data){ 

     $('#modal_pkg1').html(data.empPosition.length) 

     $('#employeePositions').modal(); 
     } 
    }); 
    } 
}); 

<div id="employeePositions" class="modal fade"> 
<div class="modal-dialog" role="document"> 
<div class="modal-content"> 

    <div class="modal-header"> 
    <h4 class="modal-title">Employee Name :</h4><br/> 

    <form> 
    <?php 
    for ($i=0; $i < ?> 
    <input type="hidden" id="modal_pkg1" value="modal_pkg1" /> 
    <?php 
    ; $i++) { ?> 
    <h4 class="modal-title" id="event_name"></h4> 
    <?php 
    } ?> 
    </form> 

誰かが...

答えて

0

あなたのPHPコードを使用すると、ページをロードする瞬間を実行しているので、あなたはmodal_pkg1値を変更すると、何も起こりませんしてください私にこれを行うための正しい教えてもらえます。 また、foorループ自体は、そこに存在しない番号を期待しているので、ロード時には機能しません。

私はあなたがJSで完全に行うことをお勧めします、あなたのスクリプトからすべてのPHPコードを削除します。以下のようなもの:あなたのAjaxの成功関数の

.success(function(data){ 
    var htmlStr = '' 
    for(var i=0;i<data.empPosition.length;i++){ 
     htmlStr+='<whatever html element you want to display>' 
    } 
    $('form').html(htmlStr) // add the generated html string to the <form> element 
    $('#employeePositions').modal(); 
} 
+0

あなたの迅速なresponceのためにUをありがとうございます。 – Christeen

関連する問題