【问题标题】:Append a div with a background color selected by the colorpicker?附加一个由颜色选择器选择的背景颜色的div?
【发布时间】:2012-06-20 12:02:52
【问题描述】:

我有一些带有附加按钮的输入字段,它将输入值附加到一个 div。 感谢这个 jQuery colorpicker 我还能够“追踪”选择了哪种颜色

$('#color1').val()

所以现在当单击附加按钮时,它会将输入值以纯文本形式附加到 div 中。但我想要完成的是另一个小 div(头像)出现在颜色选择器中选择的颜色中。让我在 JS 中说明我的意思。

HTML:

<form>
    <div>
        <input type="text" name="price" id="price" value="price" />
        <input type="text" name="brand" id="brand" value="brand"/>
        <br/>
        <input type="radio" id="up" name="direction" value="up" />  up
        <input type="radio" id="down" name="direction" value="down" /> down
        <input type="radio" id="left" name="direction" value="left" />  left
        <input type="radio" id="right"name="direction" value="right" /> right
        <button id="addbutton">add it</button>
      </div>

</form>
      <div><label for="color1">Color 1</label>
<input id="color1" name="color1" type="text" value="#333399" /></div>


<div id="sidebar"><h1>sidebar</h1></div>

JS:

var counter = 0;
$(document).ready(function(){

$('#addbutton').click(function() {
    var $addDiv = $('#sidebar');
    $addDiv.append(
    $( '<div></div>', { id: 'item' } )
        .html( $( '#input1' ).val() + ' ' + $( '#input2' ).val() + ' ' + $('input[name="category"]:checked').val() + ' ' +("<div id="avatar" backgound="color from colorpicker"></div>")+ ' ' +$('#color1').val()));
   $('.removebtn').live('click', function() {
        $(this).parent().remove();
    });
    return false

});
    
$('#color1').colorPicker();
});

我的问题是:我如何使用颜色选择器完成此任务?

【问题讨论】:

    标签: jquery html append color-picker


    【解决方案1】:

    您应该首先附加“avatarDiv”并为其赋予正确的颜色,然后将其附加到 div。最后一步是将其附加到侧边栏。

    为了清楚起见,我把它分成了两个变量:

    $(document).ready(function(){
      var counter=0; //should not be in global namespace...
      $('#addbutton').click(function() {
          var $avatarDiv = $('<div>').css('background-color',$('#color1').val()).css('height','16px').css('width','16px').css('float','left');
          var $addDiv = $('<div>', { id: 'item'+counter } ).text('your input val').append($avatarDiv);
          $('#sidebar').append($addDiv);
       counter++;
    
      });
    });
    

    【讨论】:

    • 请问你为什么不关闭jQuery中的div?
    • 你可以关闭或不关闭 div,如你所愿,jQuery 框架似乎为你处理它。您可以在jQuery Docs 中找到更多信息
    猜你喜欢
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多