When creating object literals, you do not need to specify property names, so in your example it elementNamewill be taken literally. Fortunately, you can use the syntax with a square bracket (or, nevertheless, you say it):
var extendObject = {};
extendObject[elementName] = '<option>Foobar</option>';
$.extend(jsonVal.section, extendObject);
$.extend(jsonVal['section'], extendObject);
That should fix things for you.
source
share