gpt4 book ai didi

javascript - js ( jquery ) 在初始化第二个函数之前将字符串中的变量名称传递给第二个函数

转载 作者:行者123 更新时间:2023-11-28 17:47:28 24 4
gpt4 key购买 nike

我有两个脚本+两个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");

脚本二.js

function myFun(myOpts, myJson) {
$.ajax({
url: myJson
...
success: function (data) {
...
$.each(data, function (abc, myAjaxVar) {
myOptrows += myOpts;
...

这会在 one.html 上生成错误,因为 myAjaxVar 尚不存在。

是否可以将myOptStr作为字符串传递,以便在加载的two.js中将其解释为string+var?

即在two.js中,myOpts被解释为

myOptrows += '<option value="'+myAjaxVar.valOne+'">'+myAjaxVar.valtwo+'</option>'

最佳答案

您可以将 myOptStr 属性设置为函数,并将函数作为第一个参数传递给 myFun,而不是字符串。

这是一个例子

var myArr = [];
myArr .push (
{
myOptStr : function(myAjaxVar){
return '<option value="'+myAjaxVar.valOne+'">'+myAjaxVar.valtwo+'</option>';
}
}
)
...
myFun(myArr[0].myOptStr, "myJsonZero");
...
function myFun(myOpts, myJson) {
...
$.each(data, function (abc, myAjaxVar) {
myOptrows += myOpts(myAjaxVar);
...
}
}

关于javascript - js ( jquery ) 在初始化第二个函数之前将字符串中的变量名称传递给第二个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46363764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com