JSFiddle - React, Tailwind, and code Playground
HTML
<select>
<option value="0">Место 1</option>
<option value="1">Место 2</option>
</select>
<div id="info"></div>
JavaScript
var points = {
"0":{
"description": '<b>Место 1</b><br />Описание места 1...<br />Карта: <script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=Zi0GiPXuUSLxk4MQI8xUJOuw-redomoc&width=940&height=300"><\/script>'
},
"1":{
"description":'<b>Место 2</b><br />Описание места 2...<br />Карта: <script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=Zi0GiPXuUSLxk4MQI8xUJOuw-redomoc&width=940&height=300"><\/script>'
}
},
info = $('#info');
$('select').on('change', function () {
var value = $(this).val(),
el_info = info.get(0);
if (points[value]) {
el_info.innerHTML = points[value].description;
var script_els = getScripts(el_info.innerHTML);
for (i in script_els) {
if (script_els.hasOwnProperty(i)) {
el_info.appendChild(script_els[i]);
}
}
}
else
info.html('');
})
.trigger('change');
function getScripts(html) {
var result = [];
$(html).filter('script').each(function () {
if (this.src) {
var script = document.createElement('script'),
i,
attrName,
attrValue,
attrs = this.attributes
;
for (i = 0; i < attrs.length; i++) {
attrName = attrs[i].name;
attrValue = attrs[i].value;
script[attrName] = attrValue;
}
result.push(script);
}
});
return result;
};