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

时间:2011-07-26 08:07:05

标签: javascript jquery

我正在使用jQuery In Place Editor来允许在我的页面中编辑一些文本元素。

$(".entry_name").editInPlace({
    url: "/entries/change_name",
    params: "entry_id=XXX"
});

params选项允许我发送一些参数以及发布请求。我需要为与entry_id选择器匹配的每个元素指定不同的.entry_name。匹配元素的示例是:

<span id="entry_name_24" class="entry_name" data-entry_id="24">example</span>

因此,在此示例中,params选项应为entry_id=24

我该怎么做?

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

这将成功 -

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

答案 2 :(得分:0)

您需要使用

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

    $(this).editInPlace({
        url: "/entries/change_name",
        params: "entry_id=" + currentID 
    });
});

但请记住,插件(根据用法部分)在提交时已经传递了元素的id,但是使用了另一个名称{{ 1}}

<击>
<击>   

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

     
    <击>   
  • original_html ;就地编辑器容器中的原始文本
  •   
  • update_value ;来自就地编辑器的文本的新值
  •   
  • <击>的 element_id ;就地编辑器的id属性   
  •   

修改抱歉,错过了您收到的element_id而不是实际的entry_id虽然您可以从实际的{{1}中提取它}