所以我试图在php中使用onchange事件,但它没有用,但我需要使用php从我的db中获取数据。所以如何获得$ 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>';
}
答案 0 :(得分:0)
<强> 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 ......我希望你能接受...