2016-06-11 129 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);代码以查看它是否有效,请记住将数据变量更改为您选择的字符串。