我已经完成了控件自动完成功能,但是使用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之前。;
我还有另一个文本框,用于填写textbox matakuliah的自动填充值。
`<input type="hidden" id="matakuliah_post" class="med" name="matakuliah_post">`
当我使用自动填充文本框自动填充另一个文本框时,请帮助我。
答案 0 :(得分:0)
在这种情况下,req
将包含{term:"your search term"}
。您可以扩展此javascript对象以传递额外数据。如果您要发布id_matakuliah
,可以在$.ajax
致电前指定其值,如下所示:
req.id_matakuliah = "Whatever you want to send";