[eluser]Jason Tan Boon Teck[/eluser]
I am trying to make a dynamic drop down list with more than 2 tiers. I have managed to get the last 2 tiers working with AJAX and jQuery, i.e. selecting a Drug Formulary will retrieve via AJAX a list of trade names to select.
Codes that work.
Main view:
Code:
...
// Set for AJAX calling
$siteurl = site_url()."/ehr_ajax/get_prescription_drugtradenames";
//echo $siteurl;
?>
[removed]
$(document).ready(function() {
$('#drug_formulary_id').change(function (){
ajax_trade_name()}
);
return false;
})
function ajax_trade_name() {
var siteurl = "<?php echo $siteurl; ?>";
var ajax_drug_formulary_id = $('#drug_formulary_id').val();
var data = 'ajax_drug_formulary_id=' + ajax_drug_formulary_id;
//alert(siteurl+' '+data);
$.ajax({
type:'POST',
url:siteurl,
data: data,
success: function (result) {
$('#message').html(result);
}
}
)}
Controller:
Code:
function get_prescription_drugtradenames()
{
$data['ajax_drug_formulary_id'] = $_POST['ajax_drug_formulary_id']; //set the record ID
//$data['patient_id'] = $this->uri->segment(3);
$data['tradename_list'] = $this->memr_rdb->get_tradename_by_formulary($data['ajax_drug_formulary_id']);
$this->load->vars($data);
$this->load->view("ehr/ajax_get_prescription_drugtradenames");
}
AJAX view ajax_get_prescription_drugtradenames.php:
Code:
echo "\n<select name='drug_code_id' class='normal' id='tradename'>";
echo "\n<option value='' >Some examples of this drug</option>";
foreach($tradename_list as $tradename_item)
{
echo "\n<option value='".$tradename_item['drug_code_id']."' ";
if(isset($drug_code_id)) {
echo ($drug_code_id==$tradename_item['drug_code_id'] ? "selected='selected'" : "");
}
echo ">".$tradename_item['trade_name']." [".$tradename_item['drug_code']."]</option>";
}
echo "</select>";
Continue below ...