javascript - 读取选定的变量,然后从表发送回 Controller

标签 javascript php mysql codeigniter

我有一个表,其中包含通过 codeigniter Controller 调用的数据库中的数据。我想做的是从表中读取选定的值,将其发送回 Controller ,并使用这些值从数据库中检索新记录,然后加载他们再次进入页面。

我的 Controller :

<?php
  if (!defined('BASEPATH'))
    exit('No direct script access allowed');

     class Dashboard1 extends CI_Controller {

      public function __construct() {
        parent::__construct();
        $this->load->library('form_validation');
         $this->load->model('dash_match_model');
         $this->session->keep_flashdata('supplier_id');
        $this->load->helper('url');
          $this->load->database();
    }

    public function index() {
       $arr['page']='dash1';
       $arr['present_all_suppliers'] = $this->dash_match_model->dash_present_all_suppliers();

        $arr['supplierCompany'] = "";

            $this->load->view('clients/clDashboard',$arr);

    }

    public function select_supplier() {

        $supplierCompany = $this->input ->post('supplierCompany');
        $arr['present_all_suppliers'] = $this->dash_match_model->dash_present_all_suppliers();
        $arr['supplierCompany'] = $supplierCompany;

        $supplier_selected = $this->user_model->return_selected_supplier($supplierCompany);
            foreach($supplier_selected->result() as $row)
            {
                $this->session->set_flashdata('supplier_id', $row->supplier_id);


            }

        $this->load->view('unspscSegment',$arr);
    }
}

我的 View 文件的表格具体行:

<table id="suppliertable" class="table table-striped table-bordered bootstrap-datatable datatable">
    <thead>
        <tr>
            <th>Supplier</th>
            <th>Open Range</th>
            <th>Fill Content</th>
            <th>Total Match</th>
        </tr>
    </thead>   
    <tbody>

        <?php foreach ($present_all_suppliers as $v): ?>
            <tr>

                <td onclick="window.location = 'http://example.com'" class="center" style="color:#0c595b;"> <?php echo $v->supplierCompany; ?> </td>
                <td class="center"></td>
                <td class="center"></td>
                <td class="center"></td>
            </tr>
        <?php endforeach; ?>


    </tbody>
</table>

当我选择 vendor (值)以获取所选值并将其发送到 Controller 时,我如何使用 javascript 执行此操作?那么为了将值发送到模型并收集它并在 View 中重新加载它们,我应该对 Controller 进行什么修改?

最佳答案

你可以使用 jQuery.ajax()

在您的代码中实现:

脚本:

<script>
    $(".supplier_edit").click(function(){
        var supplier_company = $(this).find('input').val()
        $.ajax({
            type: 'POST',
            url: 'http://example.com/'+'Dashboard1/select_supplier',
            data: {supplierCompany: supplier_company},
            success: function(result) {
                $("#content").html(result)
            }
        })
        return false
    })
</script>

HTML:

<tbody>
    <?php foreach ($present_all_suppliers as $v): ?>
        <tr>
            <td class="supplier_edit" style="color:#0c595b;"><input type="hidden" value="<?php echo $v->supplierCompany; ?>" ></td>
            <td class="center"></td>
            <td class="center"></td>
            <td class="center"></td>
        </tr>
    <?php endforeach; ?>
</tbody>

<div id="content">content from the controller</div>

关于javascript - 读取选定的变量,然后从表发送回 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261062/

相关文章:

javascript - 使用 AngularJS 迭代多维 Json(Ng-Repeat)

javascript - 哪个 JavaScript 性能更好?绑定(bind)到 jQuery.data 属性的变量还是闭包范围内保存的变量?

php - 搜索特定单词的字符串并替换它

mysql - 在 MySQL 中重用子查询

获取外部 JSON/XML 的 Javascript 小部件......如何?

javascript - 增加标题栏和其他元素的宽度以覆盖整个 JQuery 对话框

php - 使用信息窗口设置标记聚类器标记

php - Codeigniter $this->db->insert_id() 在 mysqli 上返回 0 但 $this->db->query ('SELECT LAST_INSERT_ID()' ) 有效

mysql - 在mysql中使用pivot功能进行搜索

mysql - 如何从联接中最右列获取排名最高的值