I want to add PHP code inside my jQuery append()
function.
I have tried the following code but it's not working. I think I'm missing something.
<script type="text/javascript">
$(function() {
$("#addMore").click(function(e) {
e.preventDefault();
$("#fieldList").append("<tr><td><label><?php echo get_phrase('select_item');?></label><select name='item[]' class='form-control' > <option value=''><?php echo get_phrase('select_item');?></option><?php $categories = $this->db->get_where('item', array('category1' => 'STATIONARY'))->result_array(); foreach ($categories as $row):?><option value='<?php echo $row['componentId'];?>'><?php echo $row['itemName'];?></option>
<?php endforeach;?></select></td><td><label><?php echo get_phrase('amount ');?></label><input type='text' name='amount[]' class='form-control'></td></tr>");
});
});
</script>
Your data source is most probably inaccessible. Try pulling your data source on top of your page.php. You can organise your page similar to the example below.
<?php
function getProduct($id) {
$products = [
'1' => [
'name' => 'product1',
'price' => 'price1',
],
'2' => [
'name' => 'product2',
'price' => 'price2',
],
];
return $products[$id];
}
?>
<script type="text/javascript">
console.log('<?= getProduct(1)['name']; ?>');
console.log('<?= getProduct(1)['price']; ?>');
</script>