当前位置: 首页 > 知识库问答 >
问题:

如何使搜索表单从类别中找到匹配,然后将值粘贴到div中?

宁飞宇
2023-03-14

我正在用Bootstrap 2.3.2做一个快速搜索表单。我在输入字段的lhs上使用下拉框,然后在rhs上使用提交按钮,如下所示:

我希望用户先从列表中选择类别,然后在键入关键字并提交时选择类别。搜索将能够从列表中筛选标签,然后将匹配的标签粘贴到下面的div中。

我使用的JS是:

$(function () {
var data = [...];

function result(message) {
    $("<div>").text(message).prependTo("#result");
    $("#result").scrollTop(0);
}

$("#index-search").submit(function () {
    if ($(".dropdown-menu").text() === data.val(ui.item.id) {
        return;
    });
});

但是我不知道如何在选择标签的情况下过滤结果。

有人能帮我吗?谢谢

JsFiddle链接在这里:link

共有1个答案

子车凯泽
2023-03-14

我想你正在寻找这样的解决方案,

JS

$(".dropdown-menu").on('click', 'li a', function () {
    $(".btn:first-child").text($(this).text());
});

$(document).ready(function () {
    var data = [{
        value: "Full A",
        id: "10",
        label: "Client"
    }, {
        value: "A La",
        id: "2",
        label: "ID"
    }, {
        value: "B RDE",
        id: "3",
        label: "Description Needed"
    }, {
        value: "M Smoth",
        id: "45",
        label: "Room"
    }, {
        value: "Steven C",
        id: "6",
        label: "Kitchen"
    }, {
        value: "Ada B",
        id: "78",
        label: "Bathroom"
    }];

    function result(message) {
        $("<div>").text(message).prependTo("#result");
        $("#result").scrollTop(0);
    }

    $("#index-search").submit(function (e) {
        e.preventDefault();
        var filterBy = $(".dropdown-toggle").text().toLowerCase();
        var val = data.filter(function(e){
            return e[filterBy].toLowerCase() == $("#appendedPrependedDropdownButtons").val().toLowerCase();

        });
        console.log(val);
        result(val.length ?
                   "Selected: " + val[0].value + " aka " + val[0].id:
          "Nothing selected, input was " + $("#appendedPrependedDropdownButtons").val() );
    });
});

演示

 类似资料:
  • 问题内容: 我继承了一些使用Hibernate的Java代码。现在,使用此代码的一些人报告他们到处都在获取NullPointerExceptions。 我已经找到了答案,发现执行查询从数据库中拉出一个对象列表时,该查询具有一个对象列表(从另一个表中拉出),Hibernate似乎在列表(NULL值)。因此,列表可能类似于: 我们用于从数据库中提取信息的代码是: 然后,在每个PrinterGroup内

  • 问题内容: 有没有一种方法可以使用JavaScript禁用将文本粘贴到HTML表单上的文本字段的功能? 例如,我有一个简单的注册表格,要求用户输入两次电子邮件。第二个电子邮件条目是为了验证第一个电子邮件条目中没有错别字。但是,如果用户复制/粘贴他们的电子邮件,那么这将无法达到目的,并且我一直在遇到用户的问题,因为他们输入了错误的电子邮件并复制/粘贴了它。 也许我不清楚我的问题,但我并不想阻止人们在

  • 我是新的C#,需要帮助格式化这段代码,我试图从剪贴板上读取特定的单词,然后将其输出回剪贴板。我需要在字符串列表搜索中添加一个无穷无尽的数字或单词。

  • 我已经使用这个网站一段时间了,通常研究我所有的问题,但这一个已经让我难倒了几天。 我有一个Excel工作簿的工作表,将允许用户输入特定的数据,一旦宏被使用,将创建一个Word文档的格式专门为每个宏。

  • 我正在尝试创建一个代码,在一个单元格中搜索诸如“蓝色”之类的颜色值,如果在该单元格中找到该值,请将该值粘贴到另一个单元格,然后在几百种颜色的范围内重复此操作。 一旦发生这种情况,对该列中的下一个单元格再次执行相同的过程,并粘贴到相应行中的另一个单元格中,直到对每个填充的单元格都搜索了所有颜色值。 我已经获得了创建Excel工作表的代码,该工作表将提取一些预定义的值,但我不确定如何扩展代码以包含数百