An approach would be:
var blurInfos = [
{ id: '#fname', key: 'name_first', varName: '_fname'},
{ id: '#lname', key: 'name_last', varName: '_lname'},
{ id: '#initials', key: 'initials', varName: '_initials'}
];
var varContext = window;
var handleBlur = function (blurInfo) {
$(blurInfo.id).blur(function(){
var key = blurInfo.key;
var value = $(this).val();
if ( value != varContext[blurInfo.varName] ){
changeemp(key, value);
varContext[blurInfo.varName] = value;
}
});
};
for (var i = 0; i < blurInfos.length; i++) {
var blurInfo = blurInfos[i];
handleBlur(blurInfo);
};
Notes
- The code assumes the variables
_fname
,_lname
etc. are in the global context (window
). Otherwise the code has to be modified accordingly.
Edit
Updated answer, since it is considered to be bad practice defining function
s in for
loops