簡體   English   中英

Codeigniter / jQuery:在將選擇下拉列表中的值提取到數據表中時遇到問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM