Javascript 关于在一系列匹配元素上使用jQuery插件的问题

Javascript 关于在一系列匹配元素上使用jQuery插件的问题,javascript,jquery,Javascript,Jquery,我正在使用允许在我的页面中对一些文本元素进行就地编辑 $(".entry_name").editInPlace({ url: "/entries/change_name", params: "entry_id=XXX" }); params选项允许我在post请求中发送一些参数。我需要为与.entry\u name选择器匹配的每个元素指定不同的条目id。匹配元素的一个示例是: <span id="entry_name_24" class="entry_name" data

我正在使用允许在我的页面中对一些文本元素进行就地编辑

$(".entry_name").editInPlace({
    url: "/entries/change_name",
    params: "entry_id=XXX"
});
params
选项允许我在post请求中发送一些参数。我需要为与
.entry\u name
选择器匹配的每个元素指定不同的
条目id
。匹配元素的一个示例是:

<span id="entry_name_24" class="entry_name" data-entry_id="24">example</span>
示例
因此在本例中,
params
选项应该是
entry\u id=24


如何执行此操作?

您需要分别对每个元素调用
editInPlace

$(".entry_name").each(function(){
    $(this).editInPlace({
        url: "/entries/change_name",
        params: "entry_id="+$(this).data('entry_id');
    });
});

这会起作用-

$(".entry_name").editInPlace({
    url: "/entries/change_name",
    params: "entry_id"+this.data('entry_id')
});
你需要使用

$(".entry_name").each(function(){
    var currentID = $(this).data('entry_id');

    $(this).editInPlace({
        url: "/entries/change_name",
        params: "entry_id=" + currentID 
    });
});
但是请记住,插件(根据用法部分)在提交时已经传递了元素的id,但是使用了另一个名称
元素id

提交就地编辑器表单后,它会向编辑器参数中指定的URL发送POST请求以及三个表单字段

  • 原版html;在位编辑器容器中的原始文本
  • 更新_值;在位编辑器中文本的新值
  • 元素_id;在位编辑器的id属性

编辑:对不起,您没有看到您正在获取的是
条目id
,而不是实际的
id
(尽管您可以从实际的
id
中提取它)

不,它不会。。这将在调用该方法时只运行一次,并填充传递给
editInPlace
调用的参数。不是每元素执行。。