gpt4 book ai didi

javascript - 将选项值转换为链接 - Javascript

转载 作者:行者123 更新时间:2023-11-28 01:49:12 25 4
gpt4 key购买 nike

我有这个将选择输入转换为 ul 的 Javascript和 li 的选项. option value="something"变成 li rel="something" .

例子:

This:
<select><opion value="something">Some text</option></select>

It becomes this:
<ul><li rel="something">Some text</li></ul>

如何转换 option value="something"<li><a href="something">some text</a>使用此代码?我有一些问题,我做不到。有人可以帮助我吗?

$('select').each(function () {
var $this = $(this), numberOfOptions = $(this).children('option').length;

$this.addClass('select-hidden');
$this.wrap('<div class="select"></div>');
$this.after('<div class="select-styled"></div>');

var $styledSelect = $this.next('div.select-styled');
$styledSelect.text($this.children('option').eq(0).text());

var $list = $('<ul />', {
'class': 'select-options'
}).insertAfter($styledSelect);

for (var i = 0; i < numberOfOptions; i++) {
$('<li />', {
text: $this.children('option').eq(i).text(),
rel: $this.children('option').eq(i).val()
}).appendTo($list);
}

var $listItems = $list.children('li');

$styledSelect.click(function (e) {
e.stopPropagation();
$('div.select-styled.active').not(this).each(function () {
$(this).removeClass('active').next('ul.select-options').hide();
});
$(this).toggleClass('active').next('ul.select-options').toggle();
});

$listItems.click(function (e) {
e.stopPropagation();
$styledSelect.text($(this).text()).removeClass('active');
$this.val($(this).attr('rel'));
$list.hide();
});

$(document).click(function () {
$styledSelect.removeClass('active');
$list.hide();
});
});

Jsfiddle 中的代码 https://jsfiddle.net/felipeemarcon/c8pouz8s/3/

谢谢。

最佳答案

稍微修改一下代码...

$('select').each(function () {
var $this = $(this), numberOfOptions = $(this).children('option').length;

$this.addClass('select-hidden');
$this.wrap('<div class="select"></div>');
$this.after('<div class="select-styled"></div>');

var $styledSelect = $this.next('div.select-styled');
$styledSelect.text($this.children('option').eq(0).text());

var $list = $('<ul />', {
'class': 'select-options'
}).insertAfter($styledSelect);

for (var i = 0; i < numberOfOptions; i++) {
let $a = $('<a />', {
href: $this.children('option').eq(i).val(),
text: $this.children('option').eq(i).text()
});
let $li = $('<li />');
$a.appendTo($li);
$li.appendTo($list);
}

var $listItems = $list.children('li');

$styledSelect.click(function (e) {
e.stopPropagation();
$('div.select-styled.active').not(this).each(function () {
$(this).removeClass('active').next('ul.select-options').hide();
});
$(this).toggleClass('active').next('ul.select-options').toggle();
});

$listItems.click(function (e) {
e.stopPropagation();
$styledSelect.text($(this).text()).removeClass('active');
$this.val($(this).attr('rel'));
$list.hide();
});

$(document).click(function () {
$styledSelect.removeClass('active');
$list.hide();
});
});

https://jsfiddle.net/4x2yvs3L/

关于javascript - 将选项值转换为链接 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50033228/

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