薛伟 发表于 2011-9-15 13:46:53

按钮定位绑定js

从数据库中查询出多条记录,然后循环输出到页面,每条记录显示的后面都有个按钮,当点击该按钮时,会触发相同的js函数,那么如何判断用户单击的是哪条记录后的按钮呢,按钮的id都相同,因为是循环输出的,每条记录的显示都相同,唯一差别就是显示的数据可能不同,我测试了一下,当单击第一条记录后的按钮时,可以触发js,但是当单击第二条及下面的按钮时不会触发js,请高手给个好的解决方案,跪求!!!

visvoy 发表于 2011-9-15 13:54:51

友情提示:每条记录应该有个ID之类的东西

薛伟 发表于 2011-9-15 14:07:16

弱弱的问下,啥意思,能不能在清楚点儿,俺是菜鸟

jeongee 发表于 2011-9-15 14:10:23

把你现在写的代码发出来,让大家看看你要实现的是什么,根据你的描述,我是很头晕,没弄明白

薛伟 发表于 2011-9-15 14:26:50


代码如下:
<?php
foreach ($results as $item) {
?>
    <p>n day(s) h hour(s) m minute(s) from now <?php echo date('M/D/Y h:i a'); ?></p>
    <p><input type="button" id="acceptIVbtn" value="" name="<?php echo $item->id; ?>" /></p>
<?php } ?>

上面的代码循环输出显示页面,最后会出现多个button,我为所有button添加onclick的js处理,

function acceptIVrequest()
{
$(document).ready(function(){
//$("#acceptIVbtn").click(function() {
   $(this).attr("disabled", true);
   $.ajax({
   type: 'post',
   dataType: 'json',
   cache: false,
   url: <?php echo '"' . site_url(ajax_post/post_action') . '"'; ?>,
   data: 'interview_id=' + $(this).attr("name"),
   success: function(data) {
      alert(data.message);
      if (data.message == 'ok')
      {
//         window.location.href = '<?php echo site_url('product/index'); ?>';
      }
      else
      {
         $("#hidden").css({"background-color": data.bg_color}).fadeIn('slow');
      }
       },
   error: function(data) {
      $("#hidden").html("An error occurred!").fadeIn("slow");
      }
   });
   $(this).attr("disabled", false);
   return false;
//});
});
}

当单击页面中的第二个及以后按钮时,不起作用,求助

jeongee 发表于 2011-9-15 14:37:55

按钮的话给个class吧。用$('.xxx')来批量处理,
比如

<input type="button" class="test" name="可以把id什么的放在这里" />

$('.test').click(function(){$.ajax(),,,,,,.......................................});

水月刀猪 发表于 2011-9-15 14:44:01

CSS基本常识 ID不能相同,name可以相同

水月刀猪 发表于 2011-9-15 14:45:21

ID相同,自然前面的ID 都被忽略

薛伟 发表于 2011-9-15 15:01:06

醒悟,感激
页: [1]
查看完整版本: 按钮定位绑定js