Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery切换更改文本输入值_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery切换更改文本输入值

Javascript jQuery切换更改文本输入值,javascript,jquery,html,Javascript,Jquery,Html,我有这个HMTL结构 .list、.list.ul{ 列表样式类型:无; } 有几件事需要改变 首先,HTML中的标识属性与您在jQuery中使用的不匹配:您需要使用$(“.radioSettings[type=radio]”选择切换输入 您还需要确保单选按钮的名称属性具有相同的值,以便不能同时选择它们。在下面链接的回答代码中,我使用了name=“color” 最后,当您循环遍历属性时,您需要更正正在查找的元素的id,因为在迭代i时,您的属性名是colors\u

我有这个HMTL结构

.list、.list.ul{
列表样式类型:无;
}

有几件事需要改变

首先,HTML中的标识属性与您在jQuery中使用的不匹配:您需要使用
$(“.radioSettings[type=radio]”选择切换输入

您还需要确保单选按钮的名称属性具有相同的值,以便不能同时选择它们。在下面链接的回答代码中,我使用了
name=“color”

最后,当您循环遍历属性时,您需要更正正在查找的元素的id,因为在迭代
i
时,您的属性名是
colors\u body
,因此您尝试选择
$(“#colors\u colors\u body”)

var着色器={
“白色”:{
'colors_body':'FFFFFF',
“颜色包装器”:“E6E6”,
“颜色\页脚”:“中交”
},
“黑暗”:{
'colors_body':'EBEEF2',
“颜色包装器”:“B2B5B8”,
“颜色\页脚”:“1A2758”
},
};
$('.radioSettings[type=“radio”]')。更改(函数(){
var val=$(this.val();
if(着色程序[val]){
用于(着色程序中的var i[val]){
if($('#'+i).length){
$('#'+i).find('input').val(colorizer[val][i]);
}
}
}
});
.list、.list.ul{
列表样式类型:无;
}


有几件事需要改变

首先,HTML中的标识属性与您在jQuery中使用的不匹配:您需要使用
$(“.radioSettings[type=radio]”选择切换输入

您还需要确保单选按钮的名称属性具有相同的值,以便不能同时选择它们。在下面链接的回答代码中,我使用了
name=“color”

最后,当您循环遍历属性时,您需要更正正在查找的元素的id,因为在迭代
i
时,您的属性名是
colors\u body
,因此您尝试选择
$(“#colors\u colors\u body”)

var着色器={
“白色”:{
'colors_body':'FFFFFF',
“颜色包装器”:“E6E6”,
“颜色\页脚”:“中交”
},
“黑暗”:{
'colors_body':'EBEEF2',
“颜色包装器”:“B2B5B8”,
“颜色\页脚”:“1A2758”
},
};
$('.radioSettings[type=“radio”]')。更改(函数(){
var val=$(this.val();
if(着色程序[val]){
用于(着色程序中的var i[val]){
if($('#'+i).length){
$('#'+i).find('input').val(colorizer[val][i]);
}
}
}
});
.list、.list.ul{
列表样式类型:无;
}

简化:

var着色器={
“白色”:{
'colors_body':'FFFFFF',
“颜色包装器”:“E6E6”,
“颜色\页脚”:“中交”
},
“黑暗”:{
'colors_body':'EBEEF2',
“颜色包装器”:“B2B5B8”,
“颜色\页脚”:“1A2758”
},
};
$('[type=“radio”]')。更改(函数(){
var val=$(this.val();
if(着色程序[val]){
用于(着色程序中的var i[val]){
$('#'+i).val(着色器[val][i]);
}
}
});

白色
黑暗的



简化:

var着色器={
“白色”:{
'colors_body':'FFFFFF',
“颜色包装器”:“E6E6”,
“颜色\页脚”:“中交”
},
“黑暗”:{
'colors_body':'EBEEF2',
“颜色包装器”:“B2B5B8”,
“颜色\页脚”:“1A2758”
},
};
$('[type=“radio”]')。更改(函数(){
var val=$(this.val();
if(着色程序[val]){
用于(着色程序中的var i[val]){
$('#'+i).val(着色器[val][i]);
}
}
});

白色
黑暗的




我想出的解决方案是:

函数中的
$(this).val
获取无线电输入的当前值,然后根据该值从对象获取数据

var着色器={
“白色”:{
'colors_body':'FFFFFF',
“颜色包装器”:“E6E6”,
“颜色\页脚”:“中交”
},
“黑暗”:{
'colors_body':'EBEEF2',
“颜色包装器”:“B2B5B8”,
“颜色\页脚”:“1A2758”
},
};
$('input:radio')。在('click',function()上{
var currentValue=$(this.val();
$('#colors_body input').val(colorizer[currentValue].colors_body);
$('#colors_wrapper input').val(colorizer[currentValue].colors_wrapper);
$('#colors_footer input').val(colorizer[currentValue].colors_footer);
});
.list,
.list ul{
列表样式类型:无;
}


我提出的解决方案
var colorizer = {}

colorizer['white'] = {
  'colors_body': 'FFFFFF',
  'colors_wrapper': 'E6E6E6',
  'colors_footer': 'CCCCCC'
}

colorizer['dark'] = {
  'colors_body': 'EBEEF2',
  'colors_wrapper': 'B2B5B8',
  'colors_footer': '1A2758'
}

$('input[name="colorizer"]').change(function() {
  var color = $(this).val();
  $.each(colorizer[color], function(i,v) {
    $('#'+i+' input').val(v);
  });
});