首先,如果之前已经提出过这个问题,我道歉,并为我糟糕的英语道歉。 使用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
}
}
?>
因此,当我在交易添加中从选择列表中选择买家时,详细买家应该出现在里面。但不幸的是,它没有发生。 我错过了什么吗?
答案 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);
代码以查看它是否有效,只需记住将数据变量更改为您选择的字符串。