【问题标题】:input type='color' fields saving as an array in database but not populating input type ='color' 'value attribute'输入类型='颜色'字段保存为数据库中的数组但不填充输入类型='颜色''值属性'
【发布时间】: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);
    }
    })

我仍然想知道它是如何工作的,而无需更新多个复选框和多个选择上的代码,但不更新多个颜色输入上的代码?

【问题讨论】:

  • 如果你愿意,我可以分享完整的过程,但我只是在寻找逻辑

标签: html node.js mongodb


【解决方案1】:

如果它用于 HTML 页面,将 #RRGGBB 标记存储为字符串可能就足够了。

如果它用于 .NET,它支持从其 ARGB 值构建颜色

System.Drawing.Color c = System.Drawing.Color.FromArgb(int);

int x = c.ToArgb();

所以你可以只存储那个 int。

【讨论】:

  • 我正在使用 HTML,但它不适合我。我已经更新了我上面的问题,请检查。 @marmik
猜你喜欢
  • 2016-09-19
  • 2012-01-10
  • 2015-07-03
  • 1970-01-01
  • 2020-07-18
  • 2020-11-16
  • 1970-01-01
  • 2018-08-29
  • 2014-04-18
相关资源
最近更新 更多