Codeigniter:创建AJAX搜索

时间:2014-01-01 16:19:26

标签: php jquery mysql ajax codeigniter

我有一个导入/导出管理表单。它包含item_id等字段。在数据库中,它们是项目表和证书表,其中包含各自的详细信息。

目前我正在使用证书表存储导入/导出详细信息。我包含:

**证书查看:**

<table class="table">
  <tr>
        <td>Item Name</td>
        <td>
            <?php echo form_input(array('name'=>'item_id','class'=>'asearch','onKeyUp'=>'ajaxSearch();'),set_value('item_id', $certificate->item_id));?>
            <span class="add-on icon-search"></span>
            <div class="search_result"></div>
        </td>
  </tr>
        <tr>
            <td>From: </td>
            <td><?php echo form_input(array('name'=>'fcity','placeholder'=>'City'),set_value('fcity', $certificate->fcity));?></td>
            <td><?php echo form_input(array('name'=>'fcountry','placeholder'=>'Country'),set_value('fcountry', $certificate->fcountry));?></td>
      </tr>
      <tr>
            <td>To: </td>
            <td><?php echo form_input(array('name'=>'tcity','placeholder'=>'City'),set_value('tcity', $certificate->tcity));?></td>
            <td><?php echo form_input(array('name'=>'tcountry','placeholder'=>'Country'),set_value('tcountry', $certificate->tcountry));?></td>
      </tr>
      <tr>
            <td>Quantity</td>
            <td><?php echo form_input('quantity',set_value('quantity', $certificate->quantity));?></td>
      </tr>
      <tr>
            <td>Amount (Rs.)</td>
            <td><?php echo form_input('amount',set_value('amount', $certificate->amount));?></td>
      </tr><tr>
            <td>Status</td>
            <?php $options2 = array(
                  '0'  => 'Fail',
                  '1'    => 'Pass',
                ); ?>
            <td><?php echo form_dropdown('status', $options2, '1');?></td>
      </tr>

     </table>
<script type="text/javascript">
function ajaxSearch() {
    searchValue = $('.asearch').val();
    $.ajax({
        type: 'POST',
        url: "<?php echo site_url("certificate/ajax_search"); ?>",
        data: {
            string : searchValue
        }
    }).done(function(msg) {
        $(".search_result").html( msg );
    });
}
</script>

证书管理员

    public function ajax_search() {
        $string = $this->input->post('string');
        if(!empty($string)) {
            $items = $this->item_m->get_by_like($string);
            $output = "<ul>";
            if($items) {
                foreach($items as $item) {
                    $output .= "<li>" . $item->item ."</li>";
                }
            } else {
                $output .= "<li>No Item Found!!</li>";
            }
            $output .= "</ul>";
            echo $output;
              }
             }
         }

项目型号:

public function get_by_like($where, $single = FALSE) {
    $this->db->like('item',$where);
    $get = $this->get(NULL, $single);
    return $get;
}

我现在要做的是:

直到现在它完全显示项目名称的ajax搜索结果,但我无法选择结果。

  • 我想在输入字段中选择结果和显示item_name,但在证书表中提交item_id。

0 个答案:

没有答案