不知道为什么不能用jquery获取数据id。它始终未定义

时间:2016-03-15 21:46:19

标签: javascript jquery

尝试使用jquery获取data-id。但没有成功。 我的jsp有data-id:

<button class="btn btn-danger" id="delete-track" data-id="${track.id}"><i class="fa fa-trash-o"></i> Delete</button>

我的js:

var TracksController = function(){

};

TracksController.prototype.deleteTrack = function (el) {

    var id = $(el).attr("data-id");

    $.ajax({
        url: '/tracks/delete',
        type: 'post',
        data: {
            id: id
        },
        success: function (data){



        }
    })

};

TracksController.prototype.init = function () {

    var that = this;

    $('#delete-track').on('click', function () {
        that.deleteTrack();
        return false;
    });

};

$(function(){
    var tracksController = new TracksController();
    tracksController.init();
});

认为它必须工作但......有人能告诉我我做错了什么吗?

2 个答案:

答案 0 :(得分:2)

试试["This", "is", "my", "string"]。数据功能允许您存储/获取存储在元素中的数据。您可以阅读更多相关信息here

答案 1 :(得分:1)

您正在调用that.deleteTrack()而没有任何参数,但deleteTrack需要一个元素。

var id = $(el).attr("data-id");失败,因为el未定义

用于演示目的的小提琴:https://jsfiddle.net/kjb6ug9c/2/