脚本只返回从php中的数据库中获取的第一个值的id

时间:2015-11-06 06:01:44

标签: javascript php mysql

<?php 

    include "connection.php";
    $query="select n_id,title,news from news ";
    $queryr=$con->query($query);
    while($row=$queryr->fetch_assoc())
    {
    ?>

<?php echo $row['title'];?>
<a href="#" id="readmore">... Read More</a>
<input type="hidden" id="idd" name="idd" value="<?php echo $row['n_id'];?>" >
<?php } ?> 

这是我的PHP代码,它从数据库中检索值。我想提醒每一行的id。以下是我的剧本:

<script>
    $(document).ready(function(){

      $("#readmore").click(function(){
         var id=$("#idd").val();
          alert(id);

    });

    });
</script>

目前我只获取从数据库中获取的第一个值的id。其余值如何可能?提前谢谢。

3 个答案:

答案 0 :(得分:1)

使用class选择器代替idid应该是唯一的。您不能为多个元素使用相同的id。在这种情况下,class将完美运作。

<a href="#" class="readmore">... Read More</a>
<input type="hidden" class="idd" name="idd" value="<?php echo $row['n_id'];?>" >

$(".readmore").click(function(e){
    e.preventDefault(); // Only if you dont want it to reload
    var id=$(this).next('.idd').val();
    alert(id);
});

FIDDLE

答案 1 :(得分:1)

ID必须是唯一的:

更改为class =&#34; readmore&#34;和输入的类=&#34; idd&#34;并使用

 $(".readmore").click(function(e){
   e.preventDefault()
   var id=$(this).next(".idd").val();
   alert(id);
 });

或者这样做:

<?php echo $row['title'];?>
<a href="#" class="readmore" data-id="<?php echo $row['n_id'];?>">... Read More</a>
<?php } ?> 
使用

 $(".readmore").click(function(e){
   e.preventDefault()
   var id=$(this).data("id");
   alert(id);
 });

答案 2 :(得分:-1)

使用jquery这样的每个函数

$('.readmore').each(function(e) {
    e.preventDefault();
    var id = $(this).next('.idd').val();
    alert(id);
}