Что касается концепций программирования, МОК / инжекция Зависимости в 1988 с корнями в 1983. У Fowler есть некоторые примечания по истории понятия на его Bliki.
Если я правильно вас понял, это то, что вам нужно:
jQuery.fn.updateChanges = function(){
this.bind('blur',function(){
var data = {};
data[$(this).attr("name")] = $(this).val();
$.post('/ajax/updateValue.php',
data,
function(ret){
if (ret=='success') alert("all good!");
}
}
}
Ваша основная проблема заключалась в попытке использовать динамическое значение с использованием обозначения литерала объекта, что вы не можете сделать без возврата к действительно плохим методам (например, использование eval (), где eval () не принадлежит;).
var myObj = { 'n1': 'v1' };
эквивалентно:
var myObj = {}; // {} = new Object();
myObj['n1'] = 'v1';
эквивалентно:
var myObj = {},
myKey = 'n1',
myVal = 'v1';
myObj[myKey] = myVal;
попробуйте следующее:
jQuery.fn.updateChanges = function(){
this.bind('blur',function(){
var inputName = $(this).attr("id");
var inputValue = $(this).val();
var data = eval("{"+ inputName +":"+ inputValue +" }");
alert("send: "+ inputName+"\n"+data[inputName]);
$.post('/ajax/updateValue.php',
data, function(ret){
if (ret=='success') alert("all good!");
}
}
}