gpt4 book ai didi

javascript - 将复选框方形选项更改为图像

转载 作者:行者123 更新时间:2023-12-01 00:27:57 26 4
gpt4 key购买 nike

我想转换复选框列表,如下面的屏幕截图

Before

我希望它变成

after .

以下是 HTML 代码片段:

latex 气球的颜色

  • #1 金属红
  • #2 亮红色
  • #3 金属酒红色
  • #4 勃艮第
  • #5 珍珠粉
  • #6 泡泡糖
  • #7 热情粉红
  • #8 桃色腮红
  • #9 珍珠桃
  • #10 玫瑰金
  • #11 金属金
  • #12 黄色
  • #13 金属橙
  • #14 橙色
  • #15 丰富的栗子

    这是我到目前为止编写的代码,但似乎无法让它工作。

    (函数() { var uploadUrl = ' https://cdn.test.com/s/files/1/2642/9394/files/ ';

    $.each($('[data-option-name="color-of-latex-balloons"] select'), function() { //使元素成为“选择”(注意:这与所需的下拉列表尚不完全兼容) var $placeholder = $(this).find('input[value=""]'); if ($placeholder.length > 0) { $(this).attr('数据占位符', $placeholder.text()); $placeholder.text(''); }

    $(this).chosen({ width: '100%' }).on('chosen:showing_dropdown', function(e) {
    // display swatches in dropdown
    var $select = $(this);
    var $chosenElement = $(e.currentTarget.nextSibling);

    $.each($chosenElement.find('li'), function() {
    var colorName = $select.find('input').eq($(this).data('value')).val();
    var colorUrl = uploadUrl + colorName.toLowerCase().replace(/ /g, '-') + '.jpg';
    $(this).prepend('<span style="display: inline-block; width: 15px; margin-right: 10px; background-image: url(\'' + colorUrl + '\');"> </span>');
    });
    }).on('change', function(e, params) {
    // set the swatch when an option is chosen
    var $chosenElement = $(e.currentTarget.nextSibling);
    var colorName = params.selected;
    var colorUrl = uploadUrl + colorName.toLowerCase().replace(/ /g, '-') + '.jpg';

    $chosenElement.find('.chosen-single span').prepend('<span style="display: inline-block; width: 15px; height: 15px; margin-bottom: -3px; margin-right: 10px; background-image: url(\'' + colorUrl + '\');"> </span>');
    });

    });})();

    如果有任何帮助,我将不胜感激。

  • 最佳答案

    首先,您需要创建一个带有标签或任何其他标记(例如 span)的复选框列表,并将其添加到文档的一部分,您可以根据使用情况使用 jQuery 运行该部分。将复选框和标签列表添加到页面后。归根结底是使用为标签提供的类来设置每个标签的气球图像,因此您需要从页面中隐藏整个复选框。

    .ballon-checkbox-list input[type="checkbox"] {
    display: none;
    }

    此后,有必要在与指定的具有不同样式的属性相对应的标签中选中复选框,以便用户通过简单的欢呼就知道他选择了哪个气球来执行此操作。曾经是。此示例不使用图像,但仅当图像 URL 的位置正确时,图像才会以彩色呈现。

    let balloonListData = [{
    color: "gray"
    },
    {
    color: "golden"
    },
    {
    color: "red"
    },
    {
    color: "green"
    }
    ];

    let checkBoxList = document.getElementById("balloon_checkbox_list");

    for (let balloon of balloonListData) {
    let className = "balloon-color--" + balloon.color;
    let checkboxId = balloon.color + "-balloon";

    let checkbox = document.createElement("input");
    checkbox.type = "checkbox";
    checkbox.id = checkboxId;

    let label = document.createElement("label");
    label.htmlFor = checkboxId;
    label.className = className;

    checkBoxList.appendChild(checkbox);
    checkBoxList.appendChild(label);
    }
          .balloon-checkbox-list input[type="checkbox"] {
    display: none;
    }

    .balloon-checkbox-list input[type="checkbox"]:checked + label {
    box-shadow: 0 0 0 5px #03a9f4;
    }

    .balloon-checkbox-list label {
    height: 34px;
    width: 28px;
    display: inline-block;
    margin: 8px;
    border-radius: 5px;
    }

    .balloon-color--gray {
    background-color: gray;
    /* Use the actual balloon image URL.

    background-image: url(images/gray-balloon.png);
    */
    }

    .balloon-color--golden {
    background-color: yellow;
    /* Use the actual balloon image URL.

    background-image: url(images/golden-balloon.png);
    */
    }

    .balloon-color--red {
    background-color: red;
    /* Use the actual balloon image URL.

    background-image: url(images/red-balloon.png);
    */
    }

    .balloon-color--green {
    background-color: green;
    /* Use the actual balloon image URL.

    background-image: url(images/green-balloon.png);
    */
    }
    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    </head>

    <body>
    <h1>Choose balloon colors*</h1>
    <div class="balloon-checkbox-list" id="balloon_checkbox_list"></div>
    </body>

    </html>

    enter image description here

    关于javascript - 将复选框方形选项更改为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58830401/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com