gpt4 book ai didi

javascript - 在 jQuery 中复制下拉列表 "multiple select"

转载 作者:行者123 更新时间:2023-11-30 15:32:53 24 4
gpt4 key购买 nike

我有一个搜索页面,用户应该能够在搜索条件中选择多个选项,例如例如,当选择头发颜色的搜索条件时,用户应该能够选择多种类型的头发颜色进行搜索,而不是只能选择一种头发颜色。

此处表示:

https://jsfiddle.net/ztjzcLL0/1/

但是,现在我需要创建另一个执行完全相同的操作,但具有其他标准,例如利益。

此处显示了我希望代码如何工作:https://jsfiddle.net/nno5fgn6/1/但这只是我将代码复制两次的地方,但是当我需要这些下拉菜单中的 6 个时,这似乎不是最好的方法。

我如何在上面的第一个 jsfiddle 中做到这一点?

所有这些选择下拉列表都在一个表单中表示,因此我可以传递值并查询这些值。

所有这些都按预期工作 - 重复代码也是如此,但这同样不是使用 6 个搜索条件来处理此问题的好方法。

期待听到您的想法。

最佳答案

Here是一个例子。

主要思想是使用相同的类和 .closest() 来查找当前下拉列表。

    $(".dropdown dt a").on('click', function() {
$(this).closest('.dropdown').find("dd ul").slideToggle('fast');
});

$(".dropdown dd ul li a").on('click', function() {
$(this).closest('.dropdown').find("dd ul").hide();
});

$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (!$clicked.parents().hasClass("dropdown")) {
$clicked.closest('.dropdown').find("dd ul").hide();
}
});

$('.mutliSelect input[type="checkbox"]').on('click', function() {
var title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
title = $(this).val() + ",";
var $currentDropdown = $(this).closest('.dropdown');

if ($(this).is(':checked')) {
var html = '<span title="' + title + '">' + title + '</span>';
$currentDropdown.find('.multiSel').append(html);
$currentDropdown.find(".hida").hide();
} else {
$currentDropdown.find('span[title="' + title + '"]').remove();
var ret = $currentDropdown.find(".hida");
$currentDropdown.find('dt a').append(ret);

}
});

关于javascript - 在 jQuery 中复制下拉列表 "multiple select",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41991729/

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