Javascript 将外部小部件修改为动态

Javascript 将外部小部件修改为动态,javascript,jquery,html,widget,Javascript,Jquery,Html,Widget,我使用的外部小部件如下所示: <script type="text/javascript" src="http://www.example.com/jquery-1.js"> </script> <link rel="stylesheet" type="text/css" media="screen" href="style.css"> <script type="text/javascript"> var lang="en"; var xname

我使用的外部小部件如下所示:

<script type="text/javascript" src="http://www.example.com/jquery-1.js">
</script>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript">
var lang="en";
var xname="www.example.com";
var g=document.createElement("script");
g.type="text/javascript";
g.async = "true";
g.src = "www.example.com/file1.js";
var instruments="A,B";
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(g, h);
</script>
<div id="div1" class="example.com-class1"></div>
<div id="div2" class="example.com-class2"></div>
<select id="cmb1">
<option value="A,B">AB</option>
<option value="C,D">CD</option>
<option value="E,F">EF</option>
</select>

<script type='text/javascript'>
window.onload = function() { BindEvent();}
function BindEvent()
{
    var elemToBind = document.getElementById ( "cmb1" );
    elemToBind.onchange = function () { doit ( elemToBind.value );
 }
}
function doit(elem)
{
var lang="en";
var xname="www.example.com";
var g=document.createElement("script");
g.type="text/javascript";
g.async = "true";
g.src = "ww.example.com/file1.js";
var instruments=elem;
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(g, h);
}
</script>
<div id="div1" class="example.com-class1"></div>
<div id="div2" class="example.com-class2"></div>

var lang=“en”;
var xname=“www.example.com”;
var g=document.createElement(“脚本”);
g、 type=“text/javascript”;
g、 async=“true”;
g、 src=“www.example.com/file1.js”;
var instruments=“A,B”;
var h=document.getElementsByTagName(“脚本”)[0];
h、 parentNode.insertBefore(g,h);
我想将“instruments”作为从组合框中选择的变量发送,因此我重新设计了如下代码:

<script type="text/javascript" src="http://www.example.com/jquery-1.js">
</script>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript">
var lang="en";
var xname="www.example.com";
var g=document.createElement("script");
g.type="text/javascript";
g.async = "true";
g.src = "www.example.com/file1.js";
var instruments="A,B";
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(g, h);
</script>
<div id="div1" class="example.com-class1"></div>
<div id="div2" class="example.com-class2"></div>
<select id="cmb1">
<option value="A,B">AB</option>
<option value="C,D">CD</option>
<option value="E,F">EF</option>
</select>

<script type='text/javascript'>
window.onload = function() { BindEvent();}
function BindEvent()
{
    var elemToBind = document.getElementById ( "cmb1" );
    elemToBind.onchange = function () { doit ( elemToBind.value );
 }
}
function doit(elem)
{
var lang="en";
var xname="www.example.com";
var g=document.createElement("script");
g.type="text/javascript";
g.async = "true";
g.src = "ww.example.com/file1.js";
var instruments=elem;
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(g, h);
}
</script>
<div id="div1" class="example.com-class1"></div>
<div id="div2" class="example.com-class2"></div>

AB
光盘
环境足迹
window.onload=函数(){BindEvent();}
函数BindEvent()
{
var elemToBind=document.getElementById(“cmb1”);
elemToBind.onchange=函数(){doit(elemToBind.value);
}
}
函数doit(elem)
{
var lang=“en”;
var xname=“www.example.com”;
var g=document.createElement(“脚本”);
g、 type=“text/javascript”;
g、 async=“true”;
g、 src=“ww.example.com/file1.js”;
var工具=要素;
var h=document.getElementsByTagName(“脚本”)[0];
h、 parentNode.insertBefore(g,h);
}
但这并不奏效。我还试图删除现有的结果并复制它,但没有成功。当放入“doit”函数时,代码不起作用。
欢迎所有帮助

我不会在用户每次更改其选择时添加一个
,因为如果他们来回移动,您只会添加同一脚本的更多副本。为什么需要加载外部脚本?您不能设置一个变量来更改仪器吗?最终版本应该删除旧脚本并使用新变量创建一个新脚本,但首先我必须让它运行。但在将其定义为函数(“doit”)时,它并没有这样做。