我无法在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)
答案 0 :(得分:0)
看起来它应该有效 - 你确定'#Make'ID存在吗?
尝试一下:
$('#Make').change(function() {
alert('change event!');
$('#Models').hide();
});
答案 1 :(得分:0)
似乎永远不会触发#Make的更改处理程序。 什么元素类型是#Make?
答案 2 :(得分:0)
这可能是一个缓存问题吗?你的代码在这里运行正常...尝试检查当前的html版本,检查它的源代码......