2016-08-22 42 views
1

我已經在JQXgrid中創建了按鈕渲染器,當按鈕被點擊時,它將數據傳遞到控制器,並且控制器發送到模型,然後從mysql的數據返回結果。如何使用一個id傳遞多個值到模態

這是我的視圖代碼部分按鈕渲染:

var button_renderer = function (row, columnfield, value, defaulthtml, columnproperties) { 
      var kode_keramik = $('#jqxgrid').jqxGrid('getcelltext', row, "kode_keramik"); 
      button = '<a href="#modal_details" class="btn btn-xs btn-success view_details" id="'+ kode_keramik +'" >Proceed</a>'; 
      return button; 
      }; 

這是將數據傳遞到控制器我的視圖代碼部分:

$(document).on('click', ".view_details", function() { 

      //alert("aaa"); 
      var url = "<?php echo base_url().'getGlazeMM/ajax_get_item_list'?>"; 
      kode_keramik = this.id; 

      $.post(url, {kode_keramik: kode_keramik} ,function(data) { 
       $('.modal-body').empty(); 
       $('.modal-body').append(data); 
       $('#modal_details').modal(); 
      }); 

     }); 

這是我的控制器:

public function ajax_get_item_list(){ 

     $data['post'] = $_POST; 
     $kode_keramik = $_POST['kode_keramik']; 
     //$buyer = $_POST['buyer']; 

     $this->load->model('get_glaze'); 

     $data['item_list'] = $this->get_glaze->action_ajax_get_item_list($data['post']); 

     if ($data['item_list']){ 

     echo "<table class='table table-bordered'> 
        <tr> 
        <th>Inspect Date</th> 
        <th>Item Code</th> 
        <th>Type</th> 
        <th>Hasil KW1</th> 
        <th>Total Inspek</th> 
        <th>Aktual Yield</th> 
        <th>Buyer</th> 
        </tr>"; 

     foreach ($data['item_list'] as $key => $value) { 

      echo "<tr>"; 
      echo "<td>".$value['inspect_date']."</td>"; 
      echo "<td>".$value['item_code']."</td>"; 
      echo "<td>".$value['sell_type']."</td>"; 
      echo "<td>".$value['hasil_kw1']."</td>"; 
      echo "<td>".$value['total_inspek']."</td>"; 
      echo "<td>".$value['aktual_yield']." %</td>"; 
      echo "<td>".$kode_keramik."</td>"; 
      echo "</tr>"; 

     } 

     echo "</table>"; 

     } else { 
     echo "Data tidak ditemukan"; 
     } 

    } 

最大的問題是如何從view_details" id="'+ kode_keramik +'" + 第二個值

var button_renderer = function (row, columnfield, value, defaulthtml, columnproperties) { 
      var kode_keramik = $('#jqxgrid').jqxGrid('getcelltext', row, "kode_keramik"); 
      button = '<a href="#modal_details" class="btn btn-xs btn-success view_details" id="'+ kode_keramik +'" >Proceed</a>'; 
      return button; 
      }; 

到:

var url = "<?php echo base_url().'getGlazeMM/ajax_get_item_list'?>"; 
      kode_keramik = this.id; 
      ***SECOND VALUE;*** 

      $.post(url, {kode_keramik: kode_keramik, ***SECOND VALUE***} ,function(data) { 

直到控制器:

public function ajax_get_item_list(){ 

     $data['post'] = $_POST; 
     $kode_keramik = $_POST['kode_keramik']; 
     $***SECOND VALUE*** = $_POST['***SECOND VALUE***']; 

回答

0

您可以格式化你的數據作爲一個JSON對象,並把它的自定義HTML屬性中。

請小心單引號雙引號轉義

var button_renderer = function (row, columnfield, value, defaulthtml, columnproperties) { 
    var kode_keramik = $('#jqxgrid').jqxGrid('getcelltext', row, "kode_keramik"); 
    button = "<a href='#modal_details' class='btn btn-xs btn-success view_details' data-custom='{\"kode_keramik\": \"" + kode_keramik + "\", \"second\": \"value\"}'>Proceed</a>"; 
    return button; 
}; 

檢索我們的目標與jQuery

$(document).on('click', ".view_details", function() { 
    //alert("aaa"); 
    var url = "<?php echo base_url().'getGlazeMM/ajax_get_item_list'?>"; 

    var obj = $(this).data('custom'); // get object using jQuery 

    $.post(url, obj ,function(data) { 
     $('.modal-body').empty(); 
     $('.modal-body').append(data); 
     $('#modal_details').modal(); 
    }); 

}); 

它會自動解析的對象

+0

親愛的Abanob,你的建議真棒,感謝兄弟... – user1909323

相關問題