gpt4 book ai didi

javascript - 如何将函数参数值连接到对象文字属性名称中

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

我有以下 JS 代码(我也使用 jQuery):

jQuery(function($) {
$(".to_manufacturer").click(function() {
var checked = $(this).is(':checked');
var man_id = $(this).attr("to_manufacturer_id");
update_is_in_to(man_id, "to_manufacturer", checked)
});
$(".to_model").click(function() {
var checked = $(this).is(':checked');
var man_id = $(this).attr("to_model_id");
update_is_in_to(man_id, "to_model", checked)
});
$(".to_type").click(function() {
var checked = $(this).is(':checked');
var man_id = $(this).attr("to_type_id");
update_is_in_to(man_id, "to_type", checked)
});

function update_is_in_to (man_id_val, modelname, checked_val) {
$.ajax({
url: "/admin/catalog/to/"+modelname+"s/ajax/update_is_in_to",
type: "GET",
data: {id: man_id_val, modelname_is_in_to_val: checked_val},
success: function(text)
{
//$("#total_count").html(text + " товар(ов)");
},
error: function(){
alert('Ошибка обновления объекта с id = '+man_id_val+' ! Очередная попытка...');
$.ajax(this);
},
dataType : "html"
});
}
});

我怎样才能使我的参数modelname_is_in_to_val是复合的,其中第一部分是方法参数modelname,第二部分是字符串“_is_in_to_val”

我尝试了modelname +“_is_in_to_val”,但收到错误。什么是正确的做法?

我的代码是不是违反了js约定?

最佳答案

您需要使用bracket notation并在函数外部构建您的对象:

function update_is_in_to (man_id_val, modelname, checked_val) {
var data = {};
data.id = man_id_val;
data[modelname + '_is_in_to_val'] = checked_val;

$.ajax({
...
data: data,
...
});
}

关于javascript - 如何将函数参数值连接到对象文字属性名称中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258239/

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