我构建了一个自定义的消息对话框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);
发布于 2011-09-23 21:26:16
optionsArr是一个javascript对象,可以像按对象的属性名索引的关联数组一样使用。
var options = {};
$('.messageBox_settings').each(function(){
if($(this).val()!=""){
optionLabel = $(this).attr('id');
optionValue = $(this).val();
options[optionLabel] = optionValue;
}
});
https://stackoverflow.com/questions/7534950
复制相似问题