0

我正在尝试编写此代码来检索从第一个 Select 选项到第二个 Select 的数据:

拳头选择:

<select name="league">
<option value="0">------------Please Select League-------</option>
<?php
$sql_league="select * from ".$prev."league";
$re_league=mysql_query($sql_league);
while($d_league=mysql_fetch_array($re_league))
{
?>
<option value="<?=$d_league['id']?>" <?php if($_SESSION['id']==$d_league['id']){?> selected="selected" <?php }?>><?=$d_league['title']?></option>
<?php
}
?>
</select>

二选一:

<select name="team">
<option value="0">------------Please Select team-------</option>
<?php
$sql_team="select * from ".$prev."team where leagueID=".$d_league['id']."";
$re_team=mysql_query($sql_team);
while($d_team=mysql_fetch_array($re_team))
{
?>
<option value="<?=$d_team['id']?>" <?php if($_SESSION['id']==$d_team['id']){?> selected="selected" <?php }?>><?=$d_team['title']?></option>
<?php
}
?>
</select>

第二个选择应该取决于第一个选择的选择(如果我选择联赛1,第二个选择选项应该显示分配到该联赛的球队)。

任何想法如何使这项工作?

4

3 回答 3

1

尝试这个

<select name="league" onChange="bindSecondSelect()">
<option value="0">select</option>
 // your php code
</select>
<select name="team">
 // your php code
</select>
<script type="text/javascript" src="jquery-1.7.js"></script> 
<script type="text/javascript">

function bindSecondSelect()
{
    if($('[name="league"]').val() != "0")
    {
        $('[name="team"]').find('option').css('display','none');
        $('[name="team"]').find('option[value="'+$('[name="league"]').val()+'"]').css('display','block');
    }
}


</script>
于 2013-06-15T11:34:53.210 回答
0

向具有第一个选择值的函数发送 ajax 请求。此函数应获取该值的详细信息并将详细信息返回给浏览器。使用该详细信息并将其附加到第二个选择中。

于 2013-06-15T11:32:25.047 回答
0

我为您创建了一个小小提琴 http://jsfiddle.net/TqKG3/3/

我已经使用了一些默认值来演示,您将不得不使用 ajax 调用并返回 json。

例如:

$("#opt_leg").change(function () {

   $("#opt_mem").find('option').remove();

   var url = "your_url.php?league_id=" + $(this).val();

   $.get(url, function(data){

        var list = jQuery.parseJSON(data);
        $.each(list, function (i, item) {

            $("#opt_mem").append("<option value=\"" + item.id + "\">" + item.name + "</option>");

        });

   });

});
于 2013-06-15T15:34:53.913 回答