我有一个PHP函数,它为字母表中的每个字母创建一个< li >。
<?php foreach(range('A','Z') as $letter) : ?>
<li><input type="button" id="alpha-button" value="<?php echo $letter; ?>"></li>
<?php endforeach; ?>
这会生成一个没有问题的列表。但是,当我尝试应用以下函数时,它只在生成第一个按钮时运行。
$(function(){
$("#alpha-button").click(function(){
alert($(this).val());
});
})
发布于 2011-03-20 11:11:21
您正在使用id选择器,并且id在DOM中必须是唯一的。
您应该将其更改为使用class
而不是id
,如下所示:
<?php foreach(range('A','Z') as $letter) : ?>
<li><input type="button" class="alpha-button" value="<?php echo $letter; ?>"></li>
<?php endforeach; ?>
和JS:
$(function(){
$(".alpha-button").click(function(){
alert($(this).val());
});
})
发布于 2011-03-20 11:12:35
因为每个<li>
都有相同的id。
您可以将其更改为
<?php foreach(range('A','Z') as $letter) : ?>
<li><input type="button" class="alpha-button" value="<?php echo $letter; ?>"></li>
<?php endforeach; ?>
和
$(function(){
$(".alpha-button").click(function(){
alert($(this).val());
});
})
https://stackoverflow.com/questions/5366523
复制相似问题