Javascript 如何基于下拉选择填充文本框?
我必须根据单个表中的下拉值填充文本框。。。。 这是我的桌子: 在这里,当我从下拉列表中选择类别1时,我希望文本框的值为400(价格),对于类别2,它应该填充500,以此类推。。。。我已经填充了db中的下拉列表值,请帮助我输入文本框值 控制器:Javascript 如何基于下拉选择填充文本框?,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我必须根据单个表中的下拉值填充文本框。。。。 这是我的桌子: 在这里,当我从下拉列表中选择类别1时,我希望文本框的值为400(价格),对于类别2,它应该填充500,以此类推。。。。我已经填充了db中的下拉列表值,请帮助我输入文本框值 控制器: public function viewcatprice() { $this->load->model('JcMeetingExpense_model');
public function viewcatprice()
{
$this->load->model('JcMeetingExpense_model');
$data['query1'] = $this->JcMeetingExpense_model->viewcatprice();
$this->load-
>view('JcMeetingExpense/jc_meeting_expense',$data);
}
型号:
function viewcatprice()
{
$query = $this->db->select('*')->from('jc_price_master')->get();
return $query->result();
}
视图:
人均金额:
请参阅
或者,如果您不想使用jQuery,请使用HTML标记的“onchange”属性,并在JS查看代码中处理它
<select class="form-control" name="category" id='cat_id'>
<?php
foreach($query1 as $row)
{
echo '<option value="'.$row->category.'">'.$row-
>category.'</option>';
}
?>
</select>
jQuery(document).ready(function($) {
$("#cat_id").on('change', function() {
var cat_id = $(this).val();
if(cat_id){
$.ajax ({
type: 'POST',
url: 'php_file_that_select_price_from_category_id.php',
data: { cat_id: cat_id },
success : function(response) {
var response = $.parseJSON(response);
$('#num5').val(response.jc_price_master);
},error:function(e){
alert("error");}
});
}
});
});
$row
对象的结构是什么?请尝试$row['category']
访问它。另外,请确保传递的是MySql结果,而不是查询本身(因为初始变量是$query1
)。否则,你能发布一些周围的数据吗?现在请查看我编辑的问题。我试过了,但仍然不起作用。我做了这些改动,请看一看。。控制器:-公共函数ajax_price_list(){$this->load->helper('url');$this->load->model('JcMeetingExpense_model');$data['jc_price_master]=$this->JcMeetingExpense_model->getprice();$this->load->view('JcMeetingExpense/jc_meeting_expense',$data);}model:-函数getprice(){$this->db->select('price');$this->db->where('category',$category);$query=$this->db->get('jc_price_master');return$query->result();}在ajax url中,我使用了以下内容:-url:''您能确认是否调用了ajax吗?您是否更改了控制器?
<select class="form-control" name="category" id='cat_id'>
<?php
foreach($query1 as $row)
{
echo '<option value="'.$row->category.'">'.$row-
>category.'</option>';
}
?>
</select>
jQuery(document).ready(function($) {
$("#cat_id").on('change', function() {
var cat_id = $(this).val();
if(cat_id){
$.ajax ({
type: 'POST',
url: 'php_file_that_select_price_from_category_id.php',
data: { cat_id: cat_id },
success : function(response) {
var response = $.parseJSON(response);
$('#num5').val(response.jc_price_master);
},error:function(e){
alert("error");}
});
}
});
});
public function ajax_price_list()
{
$this->load->helper('url');
$this->load->model('JcMeetingExpense_model');
$data['jc_price_master'] = $this->JcMeetingExpense_model->getprice();
//$this->load->view('JcMeetingExpense/jc_meeting_expense',$data); you do not have to load view here
echo jason_encode($data);
}