【问题标题】:JQuery Plugin - Passing options as objectJQuery 插件 - 将选项作为对象传递
【发布时间】:2011-09-23 21:16:06
【问题描述】:

我构建了一个自定义的消息对话框 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);

【问题讨论】:

    标签: jquery jquery-plugins options


    【解决方案1】:

    optionsArr 是一个 javascript 对象,可以像一个由对象的属性名称索引的关联数组一样使用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多