为什么Jquery切换不起作用

时间:2012-06-20 06:25:17

标签: javascript jquery html

我的index.php上有这段代码(index.php有自己的CSS文件):

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("select").click(function() {
    var destino = document.formu0.list0.value
    var lista = "#listaP"+destino;
    $(lista).toggle(2000)
 });
});
</script>

在另一个文件中,我有一个生成HTML代码的php代码,menuP是包含的标签(display:none; padding-right:10px;):

echo '<tr>';
echo '<td>';
echo '<div id="lista0">';
echo '<form name="formu0">';
echo '<select size="10" name="list0">';
for ($i = 0; $i < count($cidades); $i++)
    echo '<option value="'.($i).'">'.$cidades[$i][0].'</option>';
echo '</select></form></div></td>';

echo '<menuP>';
for ($i = 0; $i < count($cidades); $i++)
{
    $k = 0;
    echo '<td>';
    echo '<div id="listaP'.$i.'">';
    echo '<form name="formuP'.$i.'">';
    echo '<select size="6" name="listP'.$i.'">';
    for ($j = 0; $j < count($resultsA); $j++)
        if ($resultsA[$j][0] == $cidades[$i][0])
        {
            if(count($resultsA[$j])==6)
                $tipo = 'Onibus';
            else
                $tipo = 'Aviao';
            echo '<option value="'.($k).'">'.'Preco R$: '.$resultsA[$j][1].' Tipo: '. $tipo .'</option>';
            $k++;
        }
    echo '</select></form></div></td>';
}
echo '</menuP>';

我在这里做错了吗?尽管“destino”和“lista”具有正确的值,并且使用空白网站对其进行测试,但代码仍无法正常工作。基本功能是隐藏/显示与用户点击的城市相对应的特定数据列表。

1 个答案:

答案 0 :(得分:0)

“menuP是包含的标签(display:none; padding-right:10px;)”

有你的问题。如果祖先元素不可见,则切换后代元素的可见性将无效。

这是一个小提琴演示:http://jsfiddle.net/32eXp/

您需要找到一种方法使<menuP>元素可见。