使用JQuery显示div元素

时间:2016-06-11 16:55:54

标签: jquery codeigniter

首先,如果之前已经提出过这个问题,我道歉,并为我糟糕的英语道歉。 使用CodeIgniter创建此脚本时遇到了麻烦。

这是我的控制器

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
         }
       }
     ?>

因此,当我在交易添加中从选择列表中选择买家时,详细买家应该出现在里面。但不幸的是,它没有发生。 我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您的POST可能会失败,这就是您在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...');
    }
});

你的网址参数看起来也不正确。通常我看到的调用php文件的例子都有像url:"admin/transaction/getBuyerData.php"

这样的网址

答案 1 :(得分:0)

单击F12(firefox或chrome)并找到控制台选项卡...当您单击 - 打开控制台时 - 您应该收到错误消息,说明失败的原因或其他信息以帮助您按计划进行操作。

同样要对代码进行双重测试......您可以在控制台中运行$('#showBuyer').html(data);代码以查看它是否有效,只需记住将数据变量更改为您选择的字符串。