【发布时间】:2021-06-11 02:10:07
【问题描述】:
input type='color' 字段保存为数据库中的数组但不填充 input type ='color' 'value attribute'
我正在尝试这个,但没有工作。
label(for='firstColor') Color 1
input#firstColor(type='color' name='colors' value = colors)
label(for='secondColor') Color 2
input#secondColor(type='color' name='colors' value = colors)
label(for='thirdColor') Color 3
input#thirdColor(type='color' name='colors' value = colors)
我正在从数据库接收这些数据:
{colors: Array(3)
0: "#f50000"
1: "#000000"
2: "#000000"
}
并使用此代码进行填充:
$.each(results, function (i,v){
form.find('[name="'+i+'"]').val(v);
})
但没有成功填充输入颜色值。
PS:多个复选框,多个选择选项使用上述相同设置工作正常。
终于通过更新代码解决了:
var form = $('#registerForm');
$.each(results, function (i,v){
if(i == 'colors'){
$.each(results.colors, function (a,b){
$('[name="colors['+a+']"]').val(b);
})
}else{
form.find('[name="'+i+'"]').val(v);
}
})
我仍然想知道它是如何工作的,而无需更新多个复选框和多个选择上的代码,但不更新多个颜色输入上的代码?
【问题讨论】:
-
如果你愿意,我可以分享完整的过程,但我只是在寻找逻辑