0

データベースクエリから作成された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。どんな助けでも大歓迎です。

4

5 に答える 5

3

$('input').data('hash')$(this).data('hash')現在クリックされている入力のデータ属性を取得するために使用する選択の最初の入力のデータ属性を提供します

于 2012-08-21T02:13:26.487 に答える
3

読み取る入力要素を指定する必要があります。次のようなものを試してください:

$(".play").click(function(){
    $this = $(this);
    var camerahash = $this.data('hash');
    console.log($this.data('hash'));
});
于 2012-08-21T02:13:40.530 に答える
2

常に .play の最初のオブジェクトを呼び出しています。これは正しい方法です:

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

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

});
于 2012-08-21T02:13:20.840 に答える
1

.attr(data-hash)html5 属性を使用して、いつでもそれらを取得できます。

試す:

$('.play').on('click', function() {
      var _hash = $(this).attr('data-hash');
      console.log(_hash);
});
于 2012-08-21T02:19:12.740 に答える
0

セレクターは、最初に到達したものを返します。代わりにこれを使用してください

<script>
    $("input.play").click(function() {
        alert($(this).data('hash'));
    });
</script>
于 2012-08-21T02:20:37.990 に答える