0

コントロールをオートコンプリートするようにしましたが、jquery でデータを投稿するのに問題があります。

<input type="text" id="matakuliah" class="med" name="matakuliah">
<script type="text/javascript">
        $(this).ready( function() {
            $("#matakuliah").autocomplete({
                minLength: 1,

                source:
                function(req, add){
                    $.ajax({
                        url: "<?php echo site_url('bahanAjar/lookup'); ?>",
                        dataType: 'json',
                        type: 'POST',
                        data:req,
                        success:   
                        function(data){
                            if(data.response =="true"){
                                add(data.message);
                            }
                        },
                    });
                },


            });
        });
</script>

私のコントローラーで

function lookup(){
        // process posted form data (the requested items like province)
        $keyword = $this->input->post('term');

        $data['response'] = 'false'; //Set default response
        $query = $this->matakuliah_model->lookup($keyword); //Search DB
        if( ! empty($query) )
        {
            $data['response'] = 'true'; //Set response
            $data['message'] = array(); //Create array
            foreach( $query as $row )
            {
                $data['message'][] = array(
                                        'id_matakuliah'=>$row->id,
                                        'value' => $row->matakuliah,
                                        ''
                                     );  //Add a row to array
            }
        }
        if('IS_AJAX')
        {
            echo json_encode($data); //echo json string if ajax request

        }
        else
        {
           $this->load->view('admin/bahan_ajar/form_manage_file_view', $data); //Load html view of search results
        }
    }

コードはうまく機能しますが、データベースを呼び出すためのパラメーターを追加したいと思います。

 $query = $this->matakuliah_model->lookup($keyword, $id_matakuliah);

このような。どうすれば入手できますか

$this->input-<post('id_matakuliah') 

前のjqueryから。;

そして、テキストボックスmatakuliahからのオートコンプリートの値を埋めるための別のテキストボックスがあります。

`<input type="hidden" id="matakuliah_post" class="med" name="matakuliah_post">`

オートコンプリート テキストボックスを使用しているときに、別のテキスト ボックスに自動的に入力する場合は、助けてください。

4

1 に答える 1

0

この場合req、 が含まれます{term:"your search term"}。この JavaScript オブジェクトを拡張して、追加のデータを渡すことができます。を投稿する場合は、呼び出しid_matakuliahの前に次のように値を割り当てることができます。$.ajax

req.id_matakuliah = "Whatever you want to send";
于 2012-11-21T20:30:49.263 に答える