2016-06-11 119 views
0

首先我很抱歉如果這個問題之前已經被問過了,我爲我的壞英語道歉。 通過使用CodeIgniter製作此腳本時,我遇到了麻煩。用jQuery顯示div元素

這是我的控制器

function add() 
{ 
    $data = array(
     'company' => $this->m_company->get_company_profile(), 
     'title' => 'Transaksi', 
     'page_header' => 'Tambah Transaksi', 
     'userName' => 'administrator', 
     'userLevel' => 'admin', 
     'itemData'=>$this->m_stock->getItemSell(), 
     'buyerData' => $this->m_buyer->getAllData('buyers') 
     ); 
    // 
    $this->template->load('_admin-template', 'admin/transaction-add', $data); 
} 

function getBuyerData() 
{ 
    $id['buyerCode'] = $this->input->post('buyerCode'); 
    $data = array(
     'detailBuyer' => $this->m_buyer->getSelectedData('buyers', $id)->result() 
     ); 
    $this->load->view('admin/transaction/detail-buyer', $data); 
} 

這是我m_buyer(模型)

function getAllData($table) 
{ 
    return $this->db->get($table)->result(); 
} 

public function getSelectedData($table, $data) 
{ 
    return $this->db->get_where($table, $data); 
} 

,這是我的看法(交易加),但只是少數不是所有我在這裏展示

<div class="form-group form-group-sm"> 
    <label for="buyerCode" class="control-label">Pembeli :</label> 
    <select class="form-control" name="buyerCode" id="buyerCode" style="width:250px" data-placeholder="Pilih Pembeli"> 
     <option value=""></option> 
     <?php 
     if(isset($buyerData)){ 
     foreach($buyerData as $row){?> 
     <option value="<?php echo ($row->buyerCode);?>"><?php echo ($row->buyerCode);?> <?php echo ($row->full_name);?></option> 
     <?php 
      } 
     }?> 
    </select> 
</div> 

<div id="showBuyer"><!-- buyer data show here --!></div> 

這是我的JQuery腳本

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#buyerCode").change(function(){ 
     var buyerCode = $("#buyerCode").val(); 
     $.ajax({ 
      type: "POST", 
      url : "<?php echo base_url('admin/transaction/getBuyerData');?>", 
      data: "buyerCode="+buyerCode, 
      cache:false, 
      success: function(data){ 
       $('#showBuyer').html(data); 
      } 
     }); 
    }); 
}) 

我的另一個觀點細節的買家

<?php 
    if(isset($detailBuyer)){ 
    foreach($detailBuyer as $row){ 
     ?> 
     <div class="row"> 
      <div class="col-md-6"> 
       <div class="form-group form-group-sm"> 
        <label for="address" class="control-label">Address :</label> 
        <input type="text" name="address" class="form-control" id="address" value="<?php echo ($row->address);?>" readonly="readonly> 
       </div> 
      </div> 
      <div class="col-md-2"> 
       <div class="form-group form-group-sm"> 
        <label for="region" class="control-label">Region :</label> 
        <input type="text" name="region" class="form-control" id="region" value="<?php echo ($row->region);?>" readonly="readonly> 
       </div> 
      </div> 
      <div class="col-md-2"> 
       <div class="form-group form-group-sm"> 
        <label for="province" class="control-label">Provence :</label> 
        <input type="text" name="province" class="form-control" id="province" value="<?php echo ($row->province);?>" readonly="readonly> 
       </div> 
      </div> 
      <div class="col-md-2"> 
       <div class="form-group form-group-sm"> 
        <label for="postalCode" class="control-label">Postal Code :</label> 
        <input type="text" name="postalCode" class="form-control" id="postalCode" value="<?php echo ($row->postalCode);?>" readonly="readonly> 
       </div> 
      </div> 
     </div> 
     <?php 
     } 
     } 
    ?> 

所以,當我在選擇從選擇列表買方交易增加,細節,買家應當裏面出現。但不幸的是,這並沒有發生。 我錯過了什麼嗎?

回答

0

您的帖子可能是失敗的,這就是爲什麼你不能在showBuyer<div>看到任何東西。什麼我建議是修改你的Ajax調用有一個錯誤回調,並檢查錯誤塊被調用時,你的AJAX呼叫。

在Google Chrome中使用Ctrl + Shift + J打開javascript控制檯並逐步瀏覽您的javascript。

$.ajax({ 
    type: "POST", 
    url : "<?php echo base_url('admin/transaction/getBuyerData');?>", 
    data: "buyerCode="+buyerCode, 
    cache:false, 
    success: function(data){ 
     $('#showBuyer').html(data); 
    }, 
    error: function(data){ 
     debugger; 
     alert('An error occurred...'); 
    } 
}); 

而且你的URL參數不right.Usually我看到調用PHP文件的例子有像URL看 - url:"admin/transaction/getBuyerData.php"

+0

使用具有控制器路由的codeigniter進行操作。最後一行不正確 – charlietfl

+0

感謝Denis Wessels的回答。 關於URLs參數是在我的Controller中運行getBuyerData函數。我忘了重新檢查我寫的東西...我總是寫<?php echo base_url();?>控制器/函數,但在該腳本中我寫<?php echo base_url('admin/controller/function' );?> –

+0

所以我的答案對你有幫助嗎?我無法真正瞭解你的評論 –

0

點擊F12(Firefox或Chrome),並找到控制檯選項卡......當你點擊 - 控制檯打開 - 你應該收到一個錯誤信息,說明它失敗的原因或附加信息,以幫助你走上正軌。

此外,要測試您的代碼......您可以在控制檯中運行您的$('#showBuyer').html(data);代碼以查看它是否有效,請記住將數據變量更改爲您選擇的字符串。