簡體   English   中英

帶有輸入選擇器的jquery數據屬性在循環中

[英]jquery data attribute with input selector in a loop

我有一個通過數據庫查詢構建的html表,該查詢循環遍歷並為找到的每個攝像機名稱創建一個按鈕,並將它們放在表中:

<?php
for($i=0;$i<$num_rows;$i++)
{

?>
<tr>
<td>
    <input type="submit" class="play" data-hash="<?php echo $result_cameras[$i]["camera_hash"]; ?>" value="<?php echo $result_cameras[$i]["camera_name"]; ?>">
</td>
</tr>

<?php
}
?>

可以解決如下問題:

<tr>
<td>
    <input type="submit" class="play" data-hash="0d3d0ac6e54a640c73f1149d4d0bbc38e99d10f5" value="Office Window">
</td>
</tr>
<tr>
<td>
    <input type="submit" class="play" data-hash="b824cba374c3d5ab7806ad8260c939323c03147b" value="aaa">
</td>
</tr>
<tr>
<td>
    <input type="submit" class="play" data-hash="ec9658f0c1855e2e2ac09ae284f5e6990dbf445d" value="laptop">
</td>
</tr>

請注意,每個按鈕的數據哈希屬性都不同。 我想用我的jQuery代碼處理此按鈕:

$(".play").click(function(){
    var camerahash = $('input').data('hash');
    console.log($('input').data('hash'));
});

無論單擊哪個按鈕,我總是會從單擊的第一個按鈕獲得哈希值: 0d3d0ac6e54a640c73f1149d4d0bbc38e99d10f5 任何幫助表示贊賞。

$('input').data('hash')為您提供選擇中第一個輸入的data屬性,使用$(this).data('hash')獲得當前單擊的輸入的data屬性

您需要指定要讀取的輸入元素。 嘗試類似:

$(".play").click(function(){
    $this = $(this);
    var camerahash = $this.data('hash');
    console.log($this.data('hash'));
});

您總是在調用.play的第一個對象。 這是正確的方法:

$('.play').on('click', function(){

  var camerahash = $(this).data('hash');

});

您始終可以使用.attr(data-hash) html5屬性來獲取它們。

嘗試:

$('.play').on('click', function() {
      var _hash = $(this).attr('data-hash');
      console.log(_hash);
});

您的選擇器將返回它涉及的第一個。 改用這個

<script>
    $("input.play").click(function() {
        alert($(this).data('hash'));
    });
</script>

暫無
暫無

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

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