Jquery脚本未在while循环中运行

时间:2013-04-04 06:04:02

标签: php jquery

我正在尝试使用jquery单击一个在while循环中的视图按钮来显示div详细信息,但是它只显示第一个不显示其余记录的记录,任何人都可以告诉我解决这个问题.. < / p>

以下是示例代码:

 <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>

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

你已经设置了id =“user”,所以你将得到5个具有相同id的div,所以显然它只会打印第一个。所以使用class。

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

$(this).text();

答案 2 :(得分: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>