在循环中使用jquery检索html元素的php变量值

eqqqjvef  于 2021-06-25  发布在  Mysql
关注(0)|答案(3)|浏览(305)

我有个奇怪的问题。我使用php-mysql通过while循环获取表值,并将它们存储在一个数组中。然后我在一个页面中一个接一个地显示它。

$sql = "select * from newsfeed order by id DESC";
$result = $db->query($sql);

$posts_array = array();  // Storing the result to an Custom Array
$index = 0;

if($result->num_rows > 0)
{
    while($row = $result->fetch_assoc()) {

        $posts_array[$index] = $row;
        $index++; 
    }
}

我已经使用以下代码成功地将posts的$post\ id设置到html元素中。

<?php 
                $array_size = sizeof($posts_array);
                for($i = 0; $i < $array_size; $i++){
            ?>
            <div class='wrapper' id='wrapper'>
            <div class='user'>
<!-- Some Code -->
                <?php
                    $post_id = $posts_array[$i][id];
                 ?>
             <input type='image' name='like' id='like' width='40' height='40' src='like_btn.png' value='<?php echo ($post_id);'?> />

            <?php } ?>

现在我想使用jquery获取这个值并做一些数据库工作。我使用以下代码访问了该值:

<script type="text/javascript">
    function justsomething() {
        alert($(this).val());
    }
</script>

问题是我只得到最后一篇文章的id作为alert(),而不是得到不同的id。请帮帮我。每次单击并调用justsomething()函数时,我都不知道是否正在加载php脚本。
注意:我可以单独显示每个帖子的$post\u id,没有任何问题。

muk1a3rh

muk1a3rh1#

请尝试以下代码:

onclick='justsomething(this)'

function justsomething(obj) {
        alert($(obj).val());
    }
lvmkulzt

lvmkulzt2#

它适用于循环,我希望你能利用它
$(“input[id=like]”).each(函数(i){alert($(this.val());});
它将从每个 <input id="like"...

gxwragnw

gxwragnw3#

因为 id 对于一个html元素应该是唯一的请尝试将代码更改为:

<?php $array_size = sizeof($posts_array); for($i = 0; $i < $array_size; $i++){ ?>
<input type='image' name='like_<?php echo $i ?>' id='like_<?php echo $i ?>' width='40' height='40' src='like_btn.png' value='<?php echo $post_id;?>' onclick='justsomething(this);' />
<?php } ?>
<script>
function justsomething(el) {
    var img = el;
    alert(img.value);
}
</script>

下面是一个例子

function justsomething(el) {
    var img = el;
    alert(img.value);
   }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='image' name='like_1' id='like_1' width='40' height='40' src='like_btn.png' value='15454' onclick='justsomething(this);' />

相关问题