2013-04-04 2 views
-4

Я пытаюсь отобразить детали div при нажатии кнопки просмотра, которые находятся в цикле while с использованием jquery, но отображает только первую запись, не отображающую остальную часть записей, может ли кто-нибудь сказать мне решить эту проблему ..Скрипт Jquery не работает в цикле while

Вот пример кода:

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

Несколько уникальных идентификаторов не допускается. Переключитесь на классы. – ahren

+0

Идентификаторы должны быть уникальными. Вместо этого используйте класс. – Barmar

ответ

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

Я пробовал ур код, но я получаю пустой результат как предупреждение – lalith222

+0

@ lalith222 Я обновил часть javascript, посмотрим, работает ли он. – Tushar

+0

сейчас работает – lalith222

0

Вы установили идентификатор = «пользователь», так что вы получите 5 Div с одинаковым идентификатором, поэтому, очевидно, он будет печатать только первый. Поэтому используйте класс.

И получить значение текущего элемента, используйте

$(this).text(); 
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>