gpt4 book ai didi

javascript - 连接变量作为 jQuery val() 参数?

转载 作者:行者123 更新时间:2023-11-29 21:20:44 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery val() 函数设置输入(表单中的隐藏输入)的值属性。我的想法是连接变量的名称并将其作为参数传递给函数,但它并没有像我预期的那样工作。有问题的代码在最后一行:

$(document).ready(function(){

var hash = document.location.hash;
var turismosSid = "1c0f8e3ec28b09f9487140930a0c0b73";
var comercialesSid = "b31150acd348f775785b7c4a7398a3c6";

if (hash === "#turismos") {
activaTab("turismos");
$('#js-sid').val(turismosSid);
} else {
activaTab("comerciales");
$('#js-sid').val(comercialesSid);
}

$('#js-turismos-btn').on('click', function(){
activaTab("turismos");
document.location.hash = "turismos";
});

$('#js-comerciales-btn').on('click', function(){
activaTab("comerciales");
document.location.hash = "comerciales";
});


function activaTab(cual){
$('#js-turismos-btn').addClass('bg-faded');
$('#js-turismos').hide();
$('#js-comerciales-btn').addClass('bg-faded');
$('#js-comerciales').hide();

$('#js-'+ cual + '-btn').removeClass('bg-faded');
$('#js-'+ cual).fadeIn(300);

$('#js-sid').val(cual + "Sid");
}

});

函数不是将输入的值设置为变量 turismoSid 或 comercialesSid,而是将值设置为 STRING turismosSid 或 comercialesSid。我做错了什么?

最佳答案

不幸的是,您不能通过字符串连接*引用变量。

要执行您需要的操作,您可以将 turismosSidcomercialesSid 值放入一个对象中,因为您随后可以使用您连接的字符串引用该对象的键一起。试试这个:

var sids = {
turismosSid: "1c0f8e3ec28b09f9487140930a0c0b73",
comercialesSid: "b31150acd348f775785b7c4a7398a3c6"
}

if (hash === "#turismos") {
activaTab("turismos");
$('#js-sid').val(sids.turismosSid);
} else {
activaTab("comerciales");
$('#js-sid').val(sids.comercialesSid);
}

// in activaTab()
$('#js-sid').val(sids[cual + "Sid"]);

*您可以使用 eval(),但它被认为是您可能在 JS 代码中使用的最糟糕的东西,所以为了完整性,我只是将它包含在本说明中。

关于javascript - 连接变量作为 jQuery val() 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38630533/

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