这是我的问题:我的Web应用程序中有两个选择字段。
第二个取决于第一个选择。第一个是从我的数据库填充的经典:
<?php
//connection to database in an include file
$query = "SELECT DISTINCT platform
FROM Appversions";
$res = mysql_query($query);
while($row = mysql_fetch_array($res)) {
echo "<option value=\"\"" . $row['platform'] . "</option>\n";
}
?>
工作正常。
但是我需要使用看起来像这样的查询来填充我的第二个选择:
SELECT version
FROM Appversions
WHERE platform = <choice made in first select>;
我知道我需要使用带有onChange函数调用的JavaScript来做到这一点,但我无法弄清楚该函数应该是什么样的,或者它将如何访问我的查询结果。
答案 0 :(得分:0)
通常我有这个jquery代码:
$('#select1').change(function(){
if($(this).val() == ''){
$('#select2').attr('disabled', 'true');
}else{
var select1 = $(this).val();
$.getJSON('index.php',
{
option: "com_spin",
controller: "guest",
task: "getProvincieByRegionId",
idRegione: idRegione
},
function(json){
$('#select2').html(json.html);
}
);
$('#select2').removeAttr('disabled');
}
});
在php中我有这样的东西(基本上我返回html的选项:
Zend_Loader::loadClass ( 'Zend_Json' );
$idRegione = JRequest::getVar ( "idRegione" );
$modelProvince = new Spin_lkpprovincia ();
$provincie = $modelProvince->getElencoProvinciePerRegione ( $idRegione );
$html = "<option value=''>Selezionare una voce</option>";
foreach ( $provincie as $provincia ) {
$html .= "<option value='" . $provincia ['idProvincia'] . "'>" . $provincia ['nome'] . "</option>";
}
$json = array (
success => "OK",
html => $html );
$json = Zend_Json::encode ( $json );
echo $json;
die ();