[英]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.