【问题标题】:Print color code selected to input value打印选择输入值的颜色代码
【发布时间】:2013-11-05 06:04:00
【问题描述】:

我在 Rails 应用程序中使用快速资源来进行颜色选择,但我在尝试改变“点击”时发生的事情时迷失了方向;我想要的是,当有人选择颜色而不是在 html 中打印颜色十六进制时,它会带来输入值。到目前为止,我已经完成了;

 <script type="text/javascript"><!--
    $(document).ready(function(){
        $('#test').colorPicker(
        {
          click:function(c){
            $('input[value]').html(c);
          }
        });

    });</script>

还有我的意见;

 <%= f.hidden_field :color, :value => '' %>

但是我认为我在点击功能的工作方式上遗漏了一些东西。

【问题讨论】:

  • 您是否在您的点击处理程序中设置了一个断点,以确认您认为它确实被调用了?您确定 'input[value]' 选择器实际上是在查找您感兴趣的字段吗?
  • 是的,我的 javascript 中的内容是; $(document).ready(function(){$('#color').colorPicker({color:['#16a085'],click:function(c){$('input[bin_color]').val( c);} .... bin_color 是我输入的 ID ...我在该输入上设置为空的值,如下所示; 在提交时,它确实获取了空值,但我猜它没有放置选定的颜色。
  • 如果我使用 $(document).ready(function(){$('#test').colorPicker({color : ['#16a085'], 点击: function(color){$('#output').html(color);}); });将十六进制颜色打印到我的 div 上效果很好。

标签: javascript jquery ruby-on-rails ruby-on-rails-3


【解决方案1】:

我想你想要这样的东西:

click: function (c) {
    $('input[color]').val(c);
}

【讨论】:

  • 不,没有这样做。原文是;function(c){ $('#output').html(c); }
  • 然后我必须放置一个打印十六进制颜色的
    ,但在我的情况下,我并没有尝试将它打印到“输出”div ,而是将其打印在输入值中,以便 rails 稍后将其保存到数据库中。
  • 如果我理解你的问题,这是你需要采取的方法,你只需要弄清楚正确的输入选择器是什么(我猜是input[color])然后设置新值。
【解决方案2】:

我认为你需要使用 jscolor 选择器 http://jscolor.com/

【讨论】:

  • 我正在使用它并将其全部输入,但由于某种原因,该值没有被打印,如果我执行
    之类的操作,它会打印在这个小源的网站上,但是由于 java 输出它,所以应该很简单地告诉它把它放在一个输入值中,然后隐藏到一个 div 中。 syronex.com/software/jquery-color-picker
【解决方案3】:

用下面的方法解决了;

改变了;

click: function (c) {
    $('input[color]').val(c);
}

到:

click: function (c) {
    $('#bin_color').val(c);
}

谢谢大家

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-28
    • 2013-02-11
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多