-1

データベースから取得したレコードを含むテーブルがあります。クリックするとダイアログボックスが表示される各レコードのボタンがあります。

<img src="<?php echo config_item('base_url'); ?>library/images/ui/buttons/delete.png" class="bookmark-delete" data-bookmark="<?php echo $array_bookmarks_for_manage['bookmark_id']; ?>" height="14" width="14" />

各ボタンはグラフィックであり、各レコードの ID を含むデータ属性が関連付けられています。

ダイアログ ボックスに表示されるデータ属性の値を取得しようとしています。

私のコード:-

$(document).ready(function() {
    $("#dialogue").hide();
    $("a.action").attr("href", base_url + 'bookmarks/delete/' + **$('.bookmark-delete').data('bookmark')**);
    $('.bookmark-delete').click(function(event) {
        $("#dialogue").css( { position:"absolute", top: event.pageY+15, left: event.pageX-315 });
        $("#dialogue").show();
    });
    $('#close').click(function() {
        $("#dialogue").hide();
    });
});

この:

$(document).ready(function() {
    $("#dialogue").hide();
    $("a.action").attr("href", base_url + 'bookmarks/delete/' + **$(this).data('bookmark')**);
    $('.bookmark-delete').click(function(event) {
        $("#dialogue").css( { position:"absolute", top: event.pageY+15, left: event.pageX-315 });
        $("#dialogue").show();
    });
    $('#close').click(function() {
        $("#dialogue").hide();
    });
});

そしてこれも:

$(document).ready(function() {
    $("#dialogue").hide();
    $("a.action").attr("href", base_url + 'bookmarks/delete/' + **$(this).attr('data-bookmark')**);
    $('.bookmark-delete').click(function(event) {
        $("#dialogue").css( { position:"absolute", top: event.pageY+15, left: event.pageX-315 });
        $("#dialogue").show();
    });
    $('#close').click(function() {
        $("#dialogue").hide();
    });
});

すべてに喜びはありません。すべての試みは、「未定義」またはテーブル内の最後のレコード ID のいずれかになります。

各例の 3 行目の値の取得を除いて、他のすべてが機能します。これは強調するために太字にしています。

ダイアログ ボックスは、表の外側で表の後に配置されます。

    <div id="dialogue">
        <h3>Delete Bookmark</h3>
        <p>Do you want to delete this Bookmark?</p>
        <div class="divider"></div>
        <ul class="buttons">
            <li><div id="button-link"><a class="button-link action" href="#">Delete</a></div></li>
            <li><div id="button-link"><a class="button-link" href="#close" id="close">Cancel</a></div></li>
        </ul>
        <div class="cleaner"></div>
    </div>

また、ここに私が持っているものの JS Fiddle があります。ID 以外のすべてがローカルで機能するにもかかわらず、何らかの理由でコードが JS Fiddle でまったく機能しないことに注意してください。

何か案は?

4

3 に答える 3

1

試す

$('.bookmark-delete').click(function(event) {
var yourDataAtr =         $(this).attr("data-bookmark");
    });

yourDataAtrそしてあなたの価値で何でもします

于 2013-05-06T09:20:50.040 に答える
1

試す

var bookmarkid = $(this).data('bookmark');    
$("a.action").attr("href", base_url+'bookmarks/delete/'+bookmarkid);

代わりに

$("a.action").attr("href", base_url + 'bookmarks/delete/' + $(this).attr('data-bookmark'));
于 2013-05-06T09:19:05.387 に答える
0

両方

var data = $(".bookmark-delete").attr('data-bookmark');  

var data = $(".bookmark-delete").data('bookmark');  

必要な値を返します。そして、使用します-

 $("a.action").attr("href", base_url + 'bookmarks/delete/' + data);
于 2013-05-06T09:22:39.090 に答える