デフォルトまたはユーザーによって定義されたオプションを持つモーダル プラグインを作成しました。これらの値の大部分は関数に渡されて更新されます。これが発生した場合、オプションで値を更新したいと思います。理想的には、個々のオブジェクトを個別に更新する必要はなく、オブジェクト (オプション) を全体として処理および更新したいと考えています。
以下は、ユーザーのオプションです。
modalDialog({
ID: 'before_unload',
title: 'opt.heading',
message: 'opt.text',
confirm: 'opt.confirm',
cancel: 'opt.cancel',
link: $(this).attr('href'),
});
「opt」で始まる各オプション。それらに対して機能が実行されます。オプションを扱う modalDialog プラグインのコードは次のとおりです。
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?)
}
};
});
上記のコードで、rc.getResource(v) が、渡された値に応じて異なる家畜の名前で戻ってくると仮定して、新しい家畜の名前で値を更新し、すべてが一致することを確認し、オプションを更新するまで、すべてがうまくいっています。私は試してみo = options.replace(i,v)
ましたが、options.replace は関数ではありません。
私が考えたことの1つは、新しい値を作成した後(機能を実行した後)、対応するi:vの設定を解除/削除し、新しい値をオブジェクトに追加することでした。
i1 = i;
v1 = i.replace(i, newval);
o -= i:v;
o += i1:iv;
悲しいかな、私の脳は疲れ果てており、切実に助けが必要です。