在对象文字中使用变量和函数

时间:2010-09-22 01:05:20

标签: javascript ckeditor object-literal edit-in-place

我正在尝试使用ckeip jquery插件将我的textarea的id解析为我的php文件。

该插件由我的textarea的类名激活:

$('.ckeip_edit').ckeip({

然后使用对象文字将数据传递给我的php文件:

data: {
name1     : 'value1',
name2     : 'value2'
      },

我需要在其中一个中尝试使用我的textarea 的id属性:

data: {
name   : 'value',
id     : function(){this.getAttribute("id")}
      },

但这似乎不起作用。

我可以在对象文字中使用变量吗?

2 个答案:

答案 0 :(得分:0)

在这种情况下,您需要.each()并在需要的地方使用this来获取当前元素的属性以供使用,如下所示:

$('.ckeip_edit').each(function() {
  $(this).ckeip({
    data: {
      name : 'value',
      id : this.id
    },
    //options...
  });
});

答案 1 :(得分:0)

这不起作用,因为this引用data对象。您需要保存jQuery对象,以便以后可以在对象中使用它。

尝试类似:

var textarea = $('.ckeip_edit');

textarea.ckeip({
  data: {
    name : 'value',
    id : textarea[0].id;
  }
});