将动态Id传递给数据表元素

时间:2015-10-30 16:40:45

标签: jquery datatables

我正在尝试为我的jQuery数据表的每一行添加一个编辑按钮。我想动态地将id传递给元素 下面是我的数据列的代码

"columns" : [ {
                "data" : "name"
            }, {
            "data" : null,
            defaultContent : '<a href="" id="dynamicId" class="editor_edit">Edit</a> '
        } ]

以下是我的示例json数据

{userId: 1, name:srk}

我尝试在

中传递数据[userId]
<a href="" id="data[userId]" class="editor_edit">Edit</a>

哪个没有传递id,我想动态地将userId json值传递给anchor元素的id属性。我正在使用jQuery数据表版本1.10

2 个答案:

答案 0 :(得分:1)

您必须添加jQuery才能动态添加id。一旦它在剧本之外,它就不知道传递了什么。

$("a.editor_edit").attr("id", data[userId]);

您可以为返回的json对象中的每个项执行此操作。

编辑:这样做的问题是,它会找到带有.editor_edit类的锚标记的所有实例,并将最新用户的id添加到该属性。

答案 1 :(得分:1)

您可以尝试将json字符串转换为数组对象。

var data = '{"userId":"1", "name":"srk"}';
var obj = $.parseJSON(data);
$.each(obj, function(key,value)
{
    if(key==="userId")
     $('div').append('<a href="" id="' + value + '" class="editor_edit">Edit</a>');
});

http://jsfiddle.net/5uqoh3pk/

对于json中的单个项目:

var data = '{"userId":"1", "name":"srk"}';
$('div').append('<a href="" id="' + ($.parseJSON(data))["userId"] + '" class="editor_edit">Edit</a>');

http://jsfiddle.net/5uqoh3pk/1/