如何在jeditable中传递自定义数据

时间:2013-12-10 10:14:22

标签: jquery jeditable

我通过jeditable更新了字段 它是一个文件名,因此如果它很长,我会显示文件名,如“filename ....”。

我想使用数据$(this).data(“id”)但它显示未定义

如果在提交数据中控制它,则显示正确的值。

这是我的代码。

<span id="2012_03_10 15_05_46.jpg" class="rename" title="Doubleclick to edit...">2012_03_10 15_...</span>
<span id="2012_03_10 15_05_47.jpg" class="rename" title="Doubleclick to edit...">2012_03_10 15_...</span>
<span id="2012_03_10 15_05_48.jpg" class="rename" title="Doubleclick to edit...">2012_03_10 15_...</span>

$(".rename").editable("process.php", { 
    data : $(this).data("id"),
    //placeholder : "txt -  "+$(this).attr('id'),
    indicator : "<img src='images/indicator.gif'>",
    tooltip   : "Doubleclick to edit...",
    event     : "dblclick",
    onblur    : "submit",
    style     : "inherit",
    submitdata : function() {
        console.log($(this).attr("id"));
        return {action : 'rename_file'};
    }
});

如何作为数据访问正确的值。 并且还为每个

分隔值

2 个答案:

答案 0 :(得分:0)

$(this).data("id")仅在您使用任何event click时才有效,否则您必须使用selector

$(".rename").editable("process.php", { 
    data : $(".rename").data("id"), // use .rename instead of this
    // your remaining code

是的,$(this)submitData

中可以正常使用

如果您只有id,请尝试使用此data : $(".rename").attr("id"),但根据您的edited question,您必须looping使用unique every rename span

<强> HTML

<span data-id="2012_03_10 15_05_48.jpg" class="rename" title="Doubleclick to edit...">2012_03_10 15_...</span>

<强> SCRIPT

$(".rename").each(function(){
    $(this).editable("process.php", { 
       data : $(this).data("id"),
       // your code;
    });// end of editable code
});// end of each loop

答案 1 :(得分:0)

这工作正常

<span id="folder.jpg" class="rename" data-attribute="folder.jpg" title="Doubleclick to edit...">folder.jpg</span>

$(".rename").editable("process.php", { 
data : $(this).data("attribute"),