
На изображении выше я динамически заполняю строку следующим кодом: -
Код jQuery + Ajax: -
jQuery(function($) {
var $button = $('#add-row'),
$row =$('tr.timesheet-row').clone();
$button.click(function() {
$row.clone(true).appendTo('tbody').val("");
});
});
Теперь я хочу, чтобы всякий раз, когда я добавляю строки, имя теста менялось в соответствии с категорией теста, выбранной пользователем с помощью ajax-вызова, но я столкнулся с проблемой, заключающейся в том, что с помощью ajax-вызова изменяется только первая строка, а остальные или нет.
Теперь код для ajax-вызова:
$(document).ready(function() {
// function myAjaxFunction(elem)
//{
$('.changeAjax').change(function() {
var selTestCatg = $(this).val();
$.ajax({
url: "index.php/addPatientDetails/selectTestName",
type: "POST",
data: "testCategory="+selTestCatg,
success: function(data){
$('#testName').html(data);
}
});
});
//}
});
Это моя часть просмотра
Select Doctor Name
Select Test Type
Select Test Name
Код модели:-
public function getTestName()
{
$this->db->select('test_details.*,test_catg.test_type as TestCategory');
$this->db->from('test_details');
$this->db->join('test_catg','test_catg.id = test_details.test_catg_id');
//$this->db->where('test_details.test_catg_id',$testCatgID);
$query3 = $this->db->get();
if($query3->num_rows() > 0)
{
$result3 = $query3->result_array();
return $result3;
}
else
{
return FALSE;
}
}
Это моя часть контроллера:
public function selectTestName()
{
$testCatgID = $this->input->post('testCategory');
if(isset($testCatgID) != '')
{
$listTestName = $this->patientDB->getTestName($testCatgID);
foreach($listTestName as $row3)
{
$testName .= ''.$row3['test_name'].'';
}
echo $testName;
}
}
Подробнее здесь: https://stackoverflow.com/questions/363 ... odeigniter
Мобильная версия