2010-09-22 5 views
0

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

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

$('.ckeip_edit').ckeip({ 

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

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

мне нужно использовать id моего текстового поля в одном из этих опрошенных:

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

Но это не работает.

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

ответ

0

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

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

Спасибо большое, я стучал головой на столе в течение веков пытается получить эту работу. Это решило мою проблему полностью. :-) – Anthony

0

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

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

var textarea = $('.ckeip_edit'); 

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

'.getAttribute()' не является методом jQuery :) Также он получил бы идентификатор * first * one, если бы он был, а не каждый, когда вы выполняете плагин. –

+0

@Nick Craver: Ой, ты прав. У меня был 'textarea [0] .id', но он изменил его на' getAttribute' для какой-то немой причины. Исправлена. –

+0

Скажите, что есть 20 из них ... он по-прежнему получает «id» от первого только :) –

Смежные вопросы