Поэтому я пытаюсь использовать событие onchange внутри php, но он не работает, но мне нужно использовать php для получения данных из моего db.So, как можно получить $ patient [1] и $ patient [2] для переменных в javascript когда я выбираю вариант?
if(!isset($_GET['enfermeiro'])){
echo'<form action="index.php?opcao=user_update_succ" method="post" name="frmupdate">
<p><select name="pacients" id="patients_list" onchange="alert("something")">
<optgroup label="patients">
';for($i=0;$i<$pacients_number;$i++){
$patient=mysql_fetch_array($table_pacients);
echo '<option value="'.$patient[0].'">'."(".$patient[0].")(".$patient[1].")(".$patient[2].')</option>';
};
echo'</optgroup>
</select><input type="checkbox" name="update_patient" value="1"></p>
<br><p><select name="medics">
<optgroup label="medics">
';for($k=0;$k<$medics_number;$k++){
$medic=mysql_fetch_array($table_medic);
echo '<option value="'.$medic[0].'">'."(".$medic[0].")(".$medic[1].")(".$medic[2].')</option>';
};
echo '</optgroup>
</select><input type="checkbox" name="update_medic" value="1"></p>
<input type="submit" value="update user">
</form>';
}
1. Вы должны вставить нужные вам данные в качестве атрибута в свой вариант. PHP
<select name="pacients" id="patients_list" >
<optgroup label="patients">
';for($i=0;$i<$pacients_number;$i++){
$patient=mysql_fetch_array($table_pacients);
/* look here */ echo '<option value="'.$patient[0].'" data-pat1="'.$patient[1].'" data-pat2="'.$patient[2].'" >'."(".$patient[0].")(".$patient[1].")(".$patient[2].')</option>';
};
echo'</optgroup>
</select>
2 - При изменении события ваша переменная имеет атрибуты выбранного параметра. JS
$('#patients_list').on('change',function(){
var selectedPatient1 = $('#patients_list option:selected').attr('data-pat1'); // $patient[1]
var selectedPatient2 = $('#patients_list option:selected').attr('data-pat2'); // $patient[2]
});
PS: Я использовал jQuery в этом примере... Надеюсь, это хорошо для вас...