gpt4 book ai didi

jquery - DropKick 选择图像

转载 作者:行者123 更新时间:2023-12-03 22:49:45 26 4
gpt4 key购买 nike

我想创建一个包含图像而不是文本的下拉列表,并且我希望选择标签可以完全自定义。

可以使用 DropKick 在下拉列表中使用图像而不是文本吗?

我尝试修改以使用图像,但我希望能够在同一页面上的其他 dropkick 元素中将其用于文本。

在代码中:

我改变了

optionTemplate = '<li class="{{ current }}"><a data-dk-dropdown-value="{{ value }}">{{ text }}</a></li>',

optionTemplate = '<li class="{{ current }}"><img src="images//{{ value }}.png" /></li>',

最佳答案

这里是使用 HTML5 数据属性 的更好解决方案。必须按如下方式修改 jquery.dropkick-1.0.0.js 文件中编写的代码(行号仅适用于 v1.0.0):

// Line 39 -- Add "<img>"
// HTML template for the dropdowns
dropdownTemplate = [
'<div class="dk_container" id="dk_container_{{ id }}" tabindex="{{ tabindex }}">',
'<a class="dk_toggle">',
'<span class="dk_label">{{ label }}<img src="{{ icon }}"/></span>', /* << */
'</a>',
'<div class="dk_options">',
'<ul class="dk_options_inner">',
'</ul>',
'</div>',
'</div>'
].join(''),

// Line 51 -- Add "<img>" (string broken down here for readability)
// HTML template for dropdown options
optionTemplate = '<li class="{{ current }}">' +
'<a data-dk-dropdown-value="{{ value }}">{{ text }}' +
'<img src="{{ icon }}"/></a></li>'; /* << */

此外,将以下行添加到插件的选项中

  // Line 98 -- add "data.icon"
// Don't do anything if we've already setup dropkick on this element
if (data.id) {
return $select;
} else {
data.settings = settings;
data.tabindex = tabindex;
data.id = id;
data.$original = $original;
data.$select = $select;
data.value = _notBlank($select.val()) || _notBlank($original.attr('value'));
data.label = $original.text();
data.options = $options;

/* Add this attribute */
data.icon = $original.data('icon'); /* << */
}

_build 函数中的以下行之前,

// Line 318
if (view.options && view.options.length) {

添加以下行:

// Line 317. To be placed after other "template = template.replace" statements
template = template.replace('{{ icon }}', view.icon);

最后,在循环内

// Line 321
var // ...
oTemplate = optionTemplate
;

添加以下行

// To be placed after other "oTemplate = oTemplate.replace" statements
oTemplate = oTemplate.replace('{{ icon }}', view.icon);

这可能不是最佳编码实践(monkeypatching),因为未设置 icon 数据属性时代码可能会中断。

我建议您添加一些代码来检查 icon 数据属性值的值,并创建两个模板:一个用于选项,另一个用于默认下拉列表。然后可以选择使用哪个模板。 _build 函数也是如此,与 Monkeypatching 一样,它取决于 view.icon 值(如果已定义)。

关于jquery - DropKick 选择图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068781/

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