2017-12-16 6 views
0

から値を持つオプションの要素をループし、ここに私のコードは次のとおりです。は、すべての最初のデータベース

ビュー:

function admin_add_menu(e) 
{ 
    $.ajax({ 
     url: "<?php echo site_url('vendors/ajax_admin_menu/')?>", 
     type: 'POST', 
     dataType: 'JSON', 
     data: {id: e}, 
     success:function (data) { 
      $("#kategori_admin").html("<option>" + data[0]['nama'] + "</option>") 
     } 
    }); 


} 

管理コントローラ:

public function ajax_admin_menu() 
{ 
    $ido = $this->input->post('id'); 
    $data = $this->person->get_adminby_id($ido); 
    echo json_encode($data); 
} 

モデル:

 public function get_adminby_id($id) 
    { 
     $this->db->select('parentID,nama'); 
     $this->db->from('parentMenu'); 
     $this->db->where('outletID',$id); 
     $query = $this->db->get(); 
     return $query->result(); 
    } 

私はWebダッシュボードを持っており、jquery ajaxでデータを取得しようとしています。その結果、json形式の配列データが得られます。その値をオプションと組み合わせて選択してループしたいそれ(配列のような複数のデータがある場合)、申し訳ありませんが、これはちょっと愚かな質問が、それは可能ですか?

+0

エラーが発生していますか? –

答えて

1

では1行だけ変更します。 管理コントローラで

public function get_adminby_id($id) 
{ 
    $this->db->select('parentID,nama'); 
    $this->db->from('parentMenu'); 
    $this->db->where('outletID',$id); 
    $query = $this->db->get(); 
    return $query->result_array(); 
} 

は次のようにコードを変更。あなたのビューファイルで

public function ajax_admin_menu() 
{ 
    $data = $this->person->get_adminby_id($ido); 
    $option = ""; 
    if($data != array()){ 

     foreach ($data as $key => $value) { 
      $option .= "<option value='".$value['parentID']."'>".$value['nama']."</option>"; 
     } 

    } 
    echo $option; exit; 
} 

function admin_add_menu(e) 
{ 
    $.ajax({ 
     url: "<?php echo site_url('vendors/ajax_admin_menu/')?>", 
     type: 'POST', 
     dataType : 'html', 
     data: {id: e}, 
     success:function (data) { 
      $("#kategori_admin").html(data); 
     } 
    }); 

} 
+0

すごくありがとう、それは最初に私はちょっと混乱していますが、 ! – Prem

+0

あなたは@Premを歓迎します:) –

0

あなたのパースは、それが動作するかどうか

var data=jQuery.parseJSON(data); 
$("#kategori_admin").html("<option>" + data.name + "</option>"); 

を使用して応答データは、それを試すことができます。

+0

返信してくれてありがとう、しかし、私はこのようにしようとするので、詳細に説明することができます:var parsed = jQuery.parseJSON(data);コンソールで実行しようとすると、結果はエラー – Prem

+0

あなたのコンソールで応答を確認しました。ネットワークに行き、応答の形式が何であるかを確認してください。 –

+0

はい、しかし、私はそれをトリガしても、エラーで終わるので、私はネームコードに従っていますが、本当に助けてくれてありがとうございます – Prem

1

なぜあなたはこれを試してみませんか?

$ido = $this->input->post('id'); 
$data = $this->person->get_adminby_id($ido); 
foreach($data as $row){ 
    echo $option .= "<option>".$row[0]->nama."</option>"; 
} 

Kumar Praveenの答えに示されているJSON解析を使用する必要はありません。データをHTML要素に直接追加します。

$("#kategori_admin").html(data); 

あなたはこれを助けてくれることを願っています。

+0

はい、ちょっと混乱しますが、私はcontollerのオプションを反復する必要があることを理解しています。ビューではなく、本当に助けてくれてありがとう! – Prem

+0

もし私の答えをupvoteしてください。 – Prabhu

関連する問題