我构建了一个自定义消息对话框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);
答案 0 :(得分:2)
optionsArr是一个javascript对象,可以像对象的属性名称索引的关联数组一样使用。
var options = {};
$('.messageBox_settings').each(function(){
if($(this).val()!=""){
optionLabel = $(this).attr('id');
optionValue = $(this).val();
options[optionLabel] = optionValue;
}
});