簡體   English   中英

通過$ post在jquery中發布隱藏的輸入值

[英]posting hidden input values in jquery through $post

我有問題,看一下我的代碼:

HTML + PHP:

<?php foreach($result as $row) { ?>
<div class="col-md-3">
<input type="hidden" name="albumid" value="<?php echo $row['id']; ?>">
<a href="#?albumid=<?php echo $row['album_id']; ?>" class="thumbnail"id="this1">
        <img src="images/<?php echo $row['album_thumbnail']; ?>.jpg" alt="Pulpit Rock" style="width:245px;height:200px;">
        <p align="center" style="margin:0px;"><?php echo $row['album_description']; ?></p>
    </a>
    </div>
  <?php } ?

請注意,此$ result來自sql,pdo查詢Jquery:

$(document).ready(function(){
$('a#this1').click(function(){
    $("div.albums").hide();
    $("div.pics").show();
    var albumid = $("input[name=albumid]").val();
          $.post( "gallery-pics-temp.php",{ name: "Zara", albumid: albumid },function(data){ 
          $('p#myid').text(data);
          });
});
});

當我單擊鏈接(ID為“ this1”)時,jquery中的var Albumid始終具有相同的值,盡管通過foreach每個循環/行具有不同的Albumid,但是只有第一個Albumid的值才進入'gallery-pics-temp.php '。 請注意,foreach循環可以正常工作並且有不同的值,但是問題僅在於jquery,即它發送相同值的隱藏輸入($ row ['id'])

首先,您正在使用#this1(id)而不是類名。

input [name = albumid]還會讀取第一個元素,而不是與單擊按鈕相關的元素。

要查找專輯ID,您需要根據單擊的按鈕進行搜索,例如

var albumid = $(this).siblings('input[name=albumid]')

要么

var albumid = $(this).prev('input[name=albumid]');

如果不確定html的格式是否會保持不變,則可以使用以下代碼:

var albumid = $(this).parents('div').find('input[name=albumid]');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM