I have a view which has an AJAX POST to a controller list_products_of_company
:
$('select.product_dimension').change(function () {
var a = "a";
var b = "b";
$.post("<?php echo base_url(); ?>home/list_products_of_company",
{
a : a, b : b
}
)
});
Controller :
function list_products_of_company(){
$a = $this->input->post('a');
$b = $this->input->post('b');
$this->data['products_of_company'] = $this->Home_model->get_products_of_company($a,$b);
$this->load->view('product_list',$this->data);
}
How do I load the view with the data that I got from the database?
Edit:
I don't want to load the ajax response inside a div. I need the entire view page to be loaded in the window.
If you want to load the view from your codeigniter controller don't use AJAX here instead I suggest you to modify your HTML like this:
<form id="form" method="post" action="action.php">
<select name="select" id="select">
<option value="">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<input type="submit" style="visibility:hidden;" name="sub" value="submit" />
</form>
And your jquery code like this so that you can directly submit the form on change of the select box and the action goes to the CI controller:
$(function () {
$('#select').change(function () {
$('#form').submit();
});
});
And your CI home controller:
function list_products_of_company(){
$a = $this->input->post('a');
$b = $this->input->post('b');
$this->data['products_of_company'] = $this->Home_model->get_products_of_company($a,$b);
$this->load->view('product_list',$this->data);
}
$('select.product_dimension').change(function () {
$.ajax({
type: 'POST',
url: "<?php echo base_url(); ?>home/list_products_of_company",
dataType: 'text',
success:
function(data){
//change the id to your div id. where you want to load the view
$('#yourdivid').html(data);
}
});
});
I think this will help
You need to update your html as per response. say for example you want to response set with in div
with id container
. you can do as follows
<div id="container"></div>
$('select.product_dimension').change(function () {
var a = "a";
var b = "b";
// This will
$("#container").load("<?php echo base_url(); ?>home/list_products_of_company",
{a : a, b : b});
});