[英]Having Issue on Getting Row Data Into an Array From jQuery DataTable
[英]Codeigniter/jQuery: Having an issue fetching the values from a select dropdown list into a datatable
我有一個從數據庫中獲取值的下拉框和一個按鈕,單擊該按鈕時,下拉框中的產品應在數據表中顯示產品的詳細信息。 到目前為止,當我單擊按鈕以將產品添加到數據表中時,什么都沒有發生。 我將發布我的MVC和jQuery代碼。
模型:
public function getProductById($product_id){
$query_product = $this->db->query("SELECT * FROM products WHERE id='".$product_id."'");
return $query_product->result();
}
控制器:
public function getProduct () {
$prod_id = $this->input->post('pid');
$this->load->model('order_m');
$prod = $this->order_m->getProductById($prod_id);
echo json_encode($prod);}
視圖:
<form >
<label>Select product</label>
<select name="selectproduct" id="selectproduct">
<option>Select a Product</option>
<?php foreach ( $paid_products as $product ) { ?>
<option value="<?php echo $product->product_id ?>"><?php echo $product->name; ?></option>
<?php } ?>
</select>
<input type="button" class="btn btn-success" id="selectProduct" value="Add product to order">
</form>
<div class="container-fluid">
<table class="display" border="1" cellspacing="0" width="100%">
<thead>
<tr>
<th style="width:25%;" >Product</th>
<th style="width:25%;" >Sales Price</th>
<th style="width:25%;" >Qty</th>
<th style="width:25%;">Total</th>
</tr>
</thead><tbody></tbody></table>
JS:
<script>
$(document).ready(function() {
$('table.container-fluid').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "agent/order/getProduct",
"data": {"pid": product_id}
},
});
$('#selectProduct').click(function() {
var id = this.value;
var product = ('agent/order/getProduct'+id);
table.ajax.url(product).load();
table.reload();
});
</script>
如果有人可以幫助我,我將不勝感激。 謝謝
編輯:根據Praveen Kumar的觀點進行編輯。
只需對代碼進行兩項更改:
更換
<option><?php echo $product->name; ?></option>
用
<option value="<?php echo $product->id; ?>"><?php echo $product->name; ?></option>
和
<script>
$(document).ready(function() {
var product_id = '<?php echo $product->product_id; ?>';
$('table.container-fluid').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "agent/order/getProduct",
"data": {"pid": product_id}
},
});
$('#selectProduct').click(function() {
var id = $("#selectproduct").val();
var product = ('agent/order/getProduct/'+id);
table.ajax.url(product).load();
table.reload();
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.