Плагин JQuery - Передача параметров как объекта

Я создал специальный JQuery-плагин диалогового окна сообщений, который отлично работает. Однако я пытаюсь разрешить пользователям устанавливать параметры из текстовых полей ввода (например, цвет фона, размер шрифта и т. д.). Затем я создаю объект со всеми параметрами, которые не являются пустыми, и передаю моему плагину $.extend с параметрами по умолчанию. Не могу заставить его работать! Любые идеи?

messageBox_settings — это класс для полей ввода, которые будут использоваться в качестве параметров.

Поле 'id' = название опции.

Я просматриваю каждое поле и проверяю все, что не пусто.

Плагин отлично работает при ручном определении отдельных параметров в вызове функции плагина.

$('button#show_messagebox').click(function(){
            var optionLabel = '';
            var optionValue = '';
            var optionsArr = {};
            $('.messageBox_settings').each(function(){
                if($(this).val()!=""){
                    optionLabel = $(this).attr('id');
                    optionValue = $(this).val();
                    $.extend(optionsArr,{optionLabel:optionValue});
                }
            });
            //optionsArr = {optionLabel:optionValue}; Just a test when passing one option
            $('.messageBox_test').messageBox(optionsArr);

person JimmyJammed    schedule 23.09.2011    source источник


Ответы (1)


optionsArr — это объект javascript, который можно использовать как ассоциативный массив, индексированный по имени свойства объекта.

var options = {};
$('.messageBox_settings').each(function(){
    if($(this).val()!=""){
        optionLabel = $(this).attr('id');
        optionValue = $(this).val();
        options[optionLabel] = optionValue;
    }
});
person Mike Haboustak    schedule 23.09.2011