我有两个脚本+两个json。
脚本one.html
var myArr = [];
myArr .push (
{myOptStr:'<option value="'+myAjaxVar.valOne+'">'+myAjaxVar.valtwo+'</option>'},
{myOptStr:'<option value="'+myAjaxVar.valthree+'">'+myAjaxVar.valfour+'</option>'},
)
...
//load two.js via ajax as dataType: "script",
...
// Call one
myFun(myArr[0].myOptStr, "myJsonZero");
// Call two
myFun(myArr[1].myOptStr, "myJsonOne");
脚本two.js
function myFun(myOpts, myJson) {
$.ajax({
url: myJson
...
success: function (data) {
...
$.each(data, function (abc, myAjaxVar) {
myOptrows += myOpts;
...
这会在one.html上生成错误,因为myAjaxVar
尚不存在。
是否可以将myOptStr
作为字符串传递,以便在加载的two.js中将其解释为字符串+ var?
即在two.js中,myOpts
被解释为
myOptrows += '<option value="'+myAjaxVar.valOne+'">'+myAjaxVar.valtwo+'</option>'
答案 0 :(得分:3)
您可以将Runnable
属性设置为函数,并将函数作为第一个参数传递给myOptStr
而不是字符串。
这是一个例子
myFun