-5

我正在尝试使用jquery在while循环中单击查看按钮时显示div详细信息,但它只显示第一条记录而不显示其余记录,谁能告诉我解决这个问题..

这是示例代码:

 <html>
<head>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){ 
    $('#view').click(function() {
    var user=$('#user').text();
      alert(user);
    }); 
  });
</script>
<style type="text/css">
#content div{display:inline-block;}
</style>
</head>
<body>
<?php
$i=0;
while($i<5)
{
?>
<div id="content">
<div id="user">Street(<?=$i+1?>)</div>
<div id="view" style="color:green;cursor:pointer;">View</div>
</div>
<?php
$i++;
}
?>
</body>
</html>
4

3 回答 3

2

id意味着是唯一的(在 Jquery 中使用 表示#)。尝试改用class(在 Jquery 中使用 表示.)。

<div class="content">
<div class="user">Street(<?=$i+1?>)</div>
<div class="view" style="color:green;cursor:pointer;">View</div>
</div>

和javascript:

<script type="text/javascript">
    $(function(){ 
        $('.view').click(function() {
            var user=$(this).parent().find('.user').text();
            alert(user);
        }); 
    });
</script>
于 2013-04-04T06:05:58.297 回答
0

你已经设置了 id="user",所以你会得到 5 个具有相同 id 的 div,所以很明显它只会打印第一个。所以使用类。

要获取当前元素的值,请使用

$(this).text();
于 2013-04-04T06:10:04.280 回答
0

试试这个它对你有用..

<html>
<head>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){ 
    $('.view').click(function() {        
        var id = $(this).attr('id');
        var user=$('#user'+id).text();
        alert(user);
    }); 
  });
</script>
<style type="text/css">
#content div{display:inline-block;}
</style>
</head>
<body>
<?php
$i=0;
while($i<5)
{
?>
<div id="content">
<div class="user" id="user<?php echo $i+1;?>">Street(<?php echo $i+1;?>)</div>
<div class="view" id="view<?php echo $i+1;?>" style="color:green;cursor:pointer;">View</div>
</div>
<?php
$i++;
}
?>
</body>
</html>
于 2013-04-04T06:16:00.593 回答