如何根据另一个选择框项目,反之亦然

时间:2014-03-10 10:11:58

标签: javascript php jquery ajax

如何基于彼此选择选择框项目,反之亦然。我使用ajax重定向到查询页面。

while($fet = mysql_fetch_assoc($sql1)) 
{
    echo "<option value=".$fet['username'].">".$fet['username']."</option>";
}

echo '</select></td>';
echo "<td><div id='myDiv'><select id=id name=id onchange=loadXMLDoc()>";

$sql = "select * from sample";
$sql1 = mysql_query($sql);
while($fet = mysql_fetch_assoc($sql1))
{
    echo "<option value=".$fet['id'].">".$fet['id']."</option>";
}
echo '</select></div></td>';

1 个答案:

答案 0 :(得分:1)

你需要使用Ajax, 例如,你有一个像这样的选择

<select id=id1 name=id1 onchange=loadXMLDoc()> 这是你要改变的第二个 <select id=id2 name=id2>

在Javascript上你通过ajax像这样调用一个php文件

function loadXMLDoc(){
         $.ajax({ // i think you used jquery on your project
            type: "post",
            url: "getdata.php",
            data: $('input[\'name=id1\']'),
            dataType: "json",
            success:(function(result){
                    html = '';
                   if(result.data.length > 0){
                       $.each(result.data, function( index, value ) {
                          //  alert( index + ": " + value );
                            html += '<option value="'+value.id+'">'+value.title+'</option>';
                        });
                        $('#id2').html(html); 
                   }else{
                     // nothing
                   }
             }));

        }); 

   }

然后在php文件中,您只需回显您想要的json_encode结果

$sql = mysql_query('SELECT id,title FROM your_table Where your_field='.$_POST['id1']);
$query= mysql_query($sql);                
while( $row = mysql_fetch_array($query)){
   $json['data'][] = array('id' =>$row->id,'title'=>$row->title )
            }
 echo json_encode($json);