0

私はコードイグナイターで作業しています...テーブルのビューページにレコードが表示されています..すべての行に編集ボタンがあります..編集ボタンをクリックすると、モーダルポップアップが表示されます。古い値..次にフィールドを更新します..最初にパラメーターをコントローラーに渡し、次にコントローラーから値を取得して、ページをリロードせずにモーダルで表示する方法がわかりません..これが私が行っていることです。 。

私のビューページ..これは私のモーダルのフォームです

  <div class="modal hide fade in" id="myModal">
<div class="modal-header">
  <button type="button" class="close" data-dismiss="modal">×</button>
<h3>Check information</h3>
    </div>
    <div class="modal-body">

Employee name:<?php echo form_input($emp_name); ?>
</div>

レコードを表示しているテーブル

  <td><?php echo $row->emp_name ?></td>
  <td><a  href="employesController/<?php echo $row->emp_id ?>"class = "edit">Edit       </a> </td>

私のJavaScript

      <script type='text/javascript'>
$(document).ready(function(){
    $(".edit").click(function(){
        $('.modal').modal('show');


       });
});
</script>

私のコントローラー

  function editEmploye(){

 $id = $this->uri->segment(3);
$this->load->model('employesModel');
$data['result'] = $this->employesModel->getEditEmploye($id);

}

パラメータをコントローラに送信し、古い値でモーダルを起動するにはどうすればよいですか?

4

1 に答える 1

0

Bootstrap Modal は、ページの読み込み時にモーダルに存在するフォームを読み込みます。モーダルが表示されると、ページは更新されませんが、モーダル JavaScript は以前からロードされた (しかし非表示になった) フォームを表示しているだけです。

フォームの事前入力方法に関する質問に答えるために、次のシナリオにいると仮定します。

テーブルがあります。例えば。

Food        |    Price
Fries       |    $1.00
Burger      |    $3.00

フライドポテトをクリックすると、モーダルフォームに事前入力したい

<input name="food" value="fries" />
<input name="price" value="$1.00" />

ここまでは正しかったと思います。

あなたは持っているフォームを持っています

<input id="food_name" name="food" value="" />
<input id="food_price" name="price" value="" />

まず始めに。

まず、テーブルの各行にクラスを追加します。(または、div をラッパーとして使用している場合は div。)

<table>
  <tr class="food_list">
    <td>Fries</td><td>$1.00</td>
  </tr>
<table>

次に、javascript/jquery を使用して、タグの子のVALUEを検出します。これは、それに対応するタグの値になります。こちらを参照してください。これには jquery onclick を設定します。

次に、フォームに事前入力するために $('#food_name').val('valueGottenFromAbove') を設定できます。

実用的な例を提供することはできませんが、これは、ブートストラップ モーダル フォームを事前に入力するための実用的なアルゴリズムだと思います。

幸運を。

必要に応じてクラスと ID を使用してください。これにアプローチする方法を理解するのに役立つことを願って、アルゴリズムを提供しているだけです。

于 2013-01-30T09:23:40.287 に答える