簡體   English   中英

動態列出並單擊事件

[英]Dynamically list and click event

我需要制作列表(例如angularjs中的ng-repeat),然后單擊列表中的任何項,並調用函數並傳遞所選項目的數據

我用$.ajax調用和$.each列出列表

$(document).ready(function() {

    var inHTML = "";

    $.ajax({
        url:        'http://some.some',
        dataType:   "json",
        success:    function(data){
            $("#dynamicTable").append('<tr><th><h5 style="margin-left: 15px; margin-top: 15px;">' + "Events" + '</h5></th></tr>');
            $.each(data.videos, function(key, value){

                $("#dynamicTable").append('<table><tr><td class="aktivniItem backgroundIdKlupa_izbornik_td" style="color: white">'+ moment(value.time).format('DD-MM-YYYY HH:mm:ss') +'</td><tr></table>').click({param1: value.href}, setSourceToVideoPlayer);
            });
            function setSourceToVideoPlayer(event){
                alert(event.data.param1);
            }
        }
    });
});

和HTML

<table id="dynamicTable" class="table-hover"></table>

問題是,使用此代碼,當我單擊列表中的任何項目時,我都會收到所有項目傳遞數據的警報,這些數據是一對一的,不僅是單擊的。

請嘗試以下代碼。 我給出的唯一想法是,可能會出現一些語法錯誤。

$(document).ready(function() {

var inHTML = "";

$.ajax({
    url:        'http://some.some',
    dataType:   "json",
    success:    function(data){
        $("#dynamicTable").append('<tr><th><h5 style="margin-left: 15px; margin-top: 15px;">' + "Events" + '</h5></th></tr>');
        $.each(data.videos, function(key, value){

            $("#dynamicTable").append('<table><tr><td class="aktivniItem backgroundIdKlupa_izbornik_td" data="' + value.href + '" style="color: white">'+ moment(value.time).format('DD-MM-YYYY HH:mm:ss') +'</td><tr></table>');
        });

    $(".aktivniItem").click(function (){
     alert($(this).attr("data"));
    });

    }
});
});

目前, event.stopImmediatePropagation();起作用的唯一方法是使用event.stopImmediatePropagation();

function setSourceToVideoPlayer(event){
            alert(event.data.param1);
            event.stopImmediatePropagation();
        }

這是有關此的詳細信息。 如果這不是執行此操作的好方法,請告訴我。 n

暫無
暫無

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

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