将一个变量连接为jQuery val()参数
Concatenating a variable as the jQuery val() argument?
我正在尝试使用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或comercialsSid中的任何一个,而是将该值设置为STRING turismosSid或comercialesSid。我做错了什么?
遗憾的是,您无法通过字符串串联引用变量*。
要执行所需操作,可以将turismosSid
和comercialesSid
值放入一个对象中,因为您可以使用连接在一起的字符串引用该对象的键。试试这个:
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代码中可能使用的最糟糕的东西,所以为了完整起见,我只在本说明中包含它。
相关文章:
- 如何在salesforce aura闪电组件中使用jQuery.val()
- JQuery.val( ) not working
- jQuery.val()未返回预期值
- JQuery val returning undefined
- 值处的事件使用 jquery.val() 更改
- jQuery val() 返回一个在 select/option 元素上带有 IE8 的数组
- jquery.val()未返回正确的值
- jQuery:jQuery.val()在移动Safari和Chrome中不起作用
- jQuery.val()没有提取innerText的值
- JQuery val()在设置表单值时引发运行时错误
- jquery .val() 和 .length 方法无法按预期工作
- 为什么jQuery .val()工作而js .value不起作用
- jquery val() 不会显示值
- jquery .val(object) 未分配正确的值 MVC 5
- 使用 jQuery.val() 更新 Ember TextField 的值
- 当有多个相等的 css 类时,使用 jQuery val() 获取正确的值
- 在 Jquery.val() funciton 中使用 vaable 时出错
- Wordpress jQuery .val 语句错误
- jQuery val 函数在隐藏字段上不起作用
- 使用 jQuery .val() 设置时在 中显示为 NaN 的数字