替换jquery对象中的键的值

问题描述:

我创建了一个默认或用户定义了选项的模式插件。 大部分这些值将被传递给一个函数并进行更新,当发生这种情况时,我希望在选项中更新值。理想情况下,我不希望更新每个人,并且希望处理和更新整个对象(选项)。替换jquery对象中的键的值

下面是用户选择:

modalDialog({ 
    ID: 'before_unload', 
    title: 'opt.heading', 
    message: 'opt.text', 
    confirm: 'opt.confirm', 
    cancel: 'opt.cancel', 
    link: $(this).attr('href'), 
}); 

每个开头的选项“选择”。将具有对他们执行的功能。 这里是与选项

var options = $.extend(defaults, options); 
     return this.each(function() { 
      var o = options; 
      var reg = '^opt.*'; //regex to find all 'opt.' values 
      console.log(o); 
      $.each(o, function(i, v) { //for each value 
       if(i != 'save'){  
        if(v.match(reg)){ // match to regex 
         console.log(i+': '+v); 
         var newval = rc.getResource(v); // function to update value 
         console.log(newval); //value has been updated, function works 
         v = i.replace(i, newval); // update the index with new value 
         console.log('New i:v = '+i+': '+v); // checked and it works 

//Now the question is, how do I update o (options with the new values?) 

        } 
       }; 
      }); 

在上面的代码中涉及的modalDialog插件的代码,让假装rc.getResource(五)具有不同的农场动物的名字取决于哪个值被传递给了回来它会更新我的新农场动物名称的价值,并检查它是否匹配,并且一切正在进行,直到我更新选项。我试过o = options.replace(i,v),它回来了options.replace不是一个函数。

我曾经想过的一个想法是在创建新值(执行我的功能)后,取消设置/删除相应的i:v并将新值添加到对象,例如,

i1 = i; 
v1 = i.replace(i, newval); 
o -= i:v; 
o += i1:iv; 

唉,我的大脑已经疲惫不堪,急需帮助,非常感谢!

你就不能做到这一点?:

o[i] = v; 
+2

我爱你,斯科特,你愿意嫁给我吗? – 2012-07-12 13:58:36

+2

那么,我的嫁妆是一个可怜的9个字符的代码......其中两个是空格!很高兴我能帮上忙。 – 2012-07-12 14:05:28