Использование переменных и функций в литерале объекта - PullRequest
0 голосов
/ 22 сентября 2010

Я пытаюсь получить плагин jquery ckeip , чтобы проанализировать идентификатор моей текстовой области в моем php-файле.

Плагин активируется именем класса моей текстовой области:

$('.ckeip_edit').ckeip({

И затем данные передаются в мой php-файл с литералом объекта:

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

Мне нужно использовать атрибут id моей текстовой области в одном из таких проб:

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

Но, похоже, это не работает.

Можно ли использовать переменные в литерале объекта?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2010

Это не сработает, потому что this относится к объекту data.Вам нужно сохранить объект jQuery, чтобы позже вы могли использовать его внутри объекта.

Попробуйте что-то вроде:

var textarea = $('.ckeip_edit');

textarea.ckeip({
  data: {
    name : 'value',
    id : textarea[0].id;
  }
});
0 голосов
/ 22 сентября 2010

В этом случае вы хотите .each() и использовать this там, где это необходимо, чтобы получить атрибут из текущего элемента для использования, например:

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