jQuery:定位id问题

时间:2010-07-01 13:16:50

标签: jquery hide

我无法在jQuery中定位元素。

第一个有效的例子:

$(document).ready(function()
{
    $('#Models').hide();
});

第二个失败的例子:

    $(document).ready(function()
    {
       $('#Make').bind('change',function()
       {
          $('#Models').hide();          
       });
    });

在这种情况下,“#Modeles”根本不是隐藏的。 我找不到任何好的解决方案。是否有任何范围问题?

感谢您提供任何帮助或任何线索!

这是我的代码的一部分:

    <div class="search-row">
        <div class="search-flag">
        </div>
        <select id="Make" name="Make">
            <option value="">Marque</option>
            <?
            $marques = Marque::getList();
            foreach($marques as $m) {
            ?>
                <option value="<?=$m?>"><?=$m?></option>
            <? } ?>
        </select>
    </div>
    <br class="clear" />
    <div class="search-row">
        <div class="search-flag">
        </div>
        <script type='text/javascript'>
        $(document).ready(function()
        {
            $('#Make').change(function()
            {
                alert("test");
                $('#Models').hide();
            });           
        });
        </script>

        <select name="Models_name" id="Models">
            <option value="all">
                All
            </option>
        </select>
    </div>

(我的所有代码中只有一个名为“Models”的ID)

3 个答案:

答案 0 :(得分:0)

看起来它应该有效 - 你确定'#Make'ID存在吗?

尝试一下:

$('#Make').change(function() {
  alert('change event!');
  $('#Models').hide(); 
});

答案 1 :(得分:0)

似乎永远不会触发#Make的更改处理程序。 什么元素类型是#Make?

答案 2 :(得分:0)

这可能是一个缓存问题吗?你的代码在这里运行正常...尝试检查当前的html版本,检查它的源代码......