2017-03-21 9 views
1

"id"、 "name"、 "mob"の3つのフィールドを持つ "drivers"という名前のテーブルがあります。同じテーブル内のコードイグナイタのドロップダウンリスト

私は2回のドロップダウンを持っています。

  • 第一のドロップダウン:ドライバの名前のフォームのデータベースに
  • 第二ドロップダウンを表示したい:第一ドロップダウンで選択されているドライバのモバイル何を表示しないようにしたいです。

私の既存のコードを見て、私の問題を解決しようとしてください。 ここに私のコードです:

悲しい私はスタックオーバーフローエラーのためにここにコードを貼り付けることができません。私はこれを行うだろうhere

+0

私はこの質問を改善するために最善を尽くしましたが、それはまだ不明です。 –

+0

今私は質問したいことがはっきりしていると思います。 –

答えて

0

:私は、このリンク上のコードを貼り付けている

  1. を第1の選択(ドライバ)を読み込むPHPのforeachのを使用して(あなたがすでにやっていること)。
  2. PHPで2番目(モバイル)の選択を入力しないでください。空にしましょう。
  3. ドライバ選択時に選択された値を取得し、ajaxで送信する関数を作成します。
  4. 値を取得してモバイルセレクトに入力します。

今、私の友人、あなたの質問はそれで変わると思います。私は正しい?

私はそれが助けてくれることを願っています!

+0

ヒント:各依頼に対して異なるコントローラー方法を使用してください。 あなたのページはコントローラ内のメソッドに応答し、あなたのajaxは同じメソッド内の別のコントローラに応答します。 –

1

ドライバーの選択ボックスで変更時に開始するajaxを使用する必要があります。それは次のようになります。あなたのシナリオでは

<select onchange="getval(this.value)"> 
<option value="1">One</option> 
<option value="2">Two</option> 
</select> 

が、それは次のようになります。あなたのコントローラに

function getval(driverid){ 
    $.ajax({url: "controller/newmethod/"+driverid, success: function(result){ 
    //now populate the mobile number in the select box. 
}}); 
} 

<select name="dname" class="form-control" onchange="getval(this.value)"> 
// <?php 

foreach($results_drivers as $row) 
{ 
echo '<option value="'.$row->id.'">'.$row->name.'</option>'; 

} 
?> 
</select> 

が続いてjqueryの関数を記述

Public function newmethod($id){ 
$driver_data = //query to get data from your table with where cluase 
/// where id = $id 
//and then get the data in format you like, let say array 
print_r($driver_data);exit; 
} 

Now in jquery , you have data of driver in result variable that is passed as a parameter in function . now that should be easy for you . if you still have question or problem implementing it , let me know. It is easy task and you are going to use it in future a lot of times. Thats why I want you to do it your self and just telling you the methodology. 
+0

"あなたのコントローラメソッドへのURL /"には何を書きますか?<?php echo base_url( 'admin/new_booking_validation'); ?> 全体のコードはこのメソッドにあります。それは動作していません。 –

+0

@NavneetChoudhary更新の回答を確認してください –

1

// idを使用してjqueryでも使用できますfuntion

<select name="dname" class="form-control" id="selectid"> 
    foreach($results_drivers as $row) 
    { 
     echo '<option value="'.$row->id.'">'.$row->name.'</option>'; 
    } 
</select> 

get value using select box id, post driver id in controller method using    
ajax function call model method in your controller method and put this   
driver id in your model method's parameter and fetch reult data in success funtion  

    $('#selectid').on('change', function() { 
     var value = this.value; 
     var val;         
    var url = <?php echo base_url('admin/new_booking_validation'); ?> 
     $.ajax({ 
     url: url, 
     type: 'POST', 
     data: { val: value}, 
     success: function(result){ 
     //now populate the mobile number in the select box. 
        }}); 
      }) 
関連する問題