JS控件bootstrap suggest plugin使用方法详解

yizhihongxing

JS控件bootstrap suggest plugin使用方法详解

简介

Bootstrap Suggest Plugin是一个基于Bootstrap框架开发的下拉菜单插件,它通过jQuery来实现自动补全和建议功能,可以非常方便地为文本框、选择器添加下拉菜单。

安装

首先,你需要引入 Bootstrap Suggest插件的js文件,并且在页面中放置文本框或其他相关元素。你可以将以下代码放在标签中引入Bootstrap Suggest插件所需的CSS和JS文件:

<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-suggest/3.0.0/bootstrap-suggest.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-suggest/3.0.0/bootstrap-suggest.min.js"></script>

接下来,你需要在你的HTML文档中添加一个文本框,并在其上设置data-toggle为suggest,以及用data-source设置数据源。

<input type="text" id="mySuggest" data-toggle="suggest" data-source='["Apple", "Apricot", "Banana", "Blackberry"]'>

这里data-source是一个包含了数据源的数组。

如果你想要将数据源从数据库中获取,你可以使用由Bootstrap Suggest提供的Ajax方法来获取数据。使用Ajax方法的代码如下:

<input type="text" id="mySuggest" data-toggle="suggest" data-ajax-url="http://myUrl.com/getData" >

使用

当你完成以上准备步骤后,你就可以使用Bootstrap Suggest插件了。按下方示例进行使用:

$(document).ready(function () {
    $('#mySuggest').bsSuggest({
        allowNoKeyword: true,
        showHeader: true,
        effectiveFieldsAlias: {id: "序号", name: "名称", price: "价格", desc: "详细信息"},
        getDataMethod: "url",
        delayUntilKeyup: true,
        url: "search.php?action=search&type=suggest&keyword=",
        idField: "id",
        keyField: "name"
    });
});

上述例子的主要框架如下:

$("#mySuggest").bsSuggest({ 
    //自定义参数 
}); 

其中,bsSuggest()是用于初始化Bootstrap Suggest的方法。你可以通过这个方法指定Bootstrap Suggest插件的行为和参数。

一些基本参数的说明:

  • allowNoKeyword:是否允许不输入关键字进行查询。默认值为false,表示必须输入关键字才能进行搜索。
  • showHeader:是否显示表头。默认值为true。
  • effectiveFieldsAlias:指定下拉菜单中“关键字”、“ID”、“别名”的字段名。
  • getDataMethod:数据源获取方式。可选值有"data", "url", "json", 默认值为"data".
  • url:getDataMethod设为"url"时使用,提供异步获取数据源的URL地址,此处需要指定查询字符串。默认为""。
  • delayUntilKeyUp:是否等待键盘keyup事件触发时才搜索,为true表示是,false表示否。默认为true。
  • idField:在Ajax获取数据源时,指定与每条记录对应的字段名。默认值为"id"。
  • keyField:在Ajax获取数据源时,指定显示在下拉列表中的关键字所对应的字段名,默认为"name"。

示例

下面提供一个从数据库中获取数据并填充文本框的例子:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap Suggest Plugin</title>
<link href="//cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-suggest/3.0.0/bootstrap-suggest.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-sm-6">
            <input type="text" class="form-control" id="mySuggest" data-toggle="suggest" data-ajax-url="ajax.php?action=search&type=suggest&keyword=">
        </div>
    </div>
</div>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-suggest/3.0.0/bootstrap-suggest.min.js"></script>
<script>
$(document).ready(function () {
    $('#mySuggest').bsSuggest({
        allowNoKeyword: true,
        showHeader: true,
        getDataMethod: "url",
        url: "ajax.php?action=search&type=suggest&keyword=",
        delayUntilKeyup: true,
        idField: "id",
        keyField: "name"
    }).on('onSetSelectValue', function (e, keyword) {
        $("#text").val(keyword.id);
    });
});
</script>
</body>
</html>

在这个例子中,我们主要使用了ajax.php文件来获取数据源。ajax.php文件的代码如下:

<?php
header("Content-Type: application/json");

$db = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "root");

$action = $_GET['action'];
$searchType = $_GET['type'];
$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : '';

if ($action == 'search') {

    $perPage = 10;
    $page = $_GET['page'];
    $sidx = $_GET['sid'];
    $sord = $_GET['sord'];

    $start = ($page - 1) * $perPage;

    if ($searchType == 'suggest') {
        $sql = "SELECT id,name FROM sites WHERE name LIKE :kw ORDER BY $sidx $sord LIMIT :start,:perPage";
        $stmt = $db->prepare($sql);
        $stmt->bindValue(':start', $start, PDO::PARAM_INT);
        $stmt->bindValue(':perPage', $perPage, PDO::PARAM_INT);
        $stmt->bindValue(':kw', "$keyword%", PDO::PARAM_STR);
    } else {
        $sql = "SELECT * FROM sites WHERE name LIKE :kw ORDER BY $sidx $sord LIMIT :start,:perPage";
        $stmt = $db->prepare($sql);
        $stmt->bindValue(':start', $start, PDO::PARAM_INT);
        $stmt->bindValue(':perPage', $perPage, PDO::PARAM_INT);
        $stmt->bindValue(':kw', "%$keyword%", PDO::PARAM_STR);
    }
    $stmt->execute();

    $result['Rows'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $result['Total'] = 10;

    $jsonData = json_encode($result);
    echo $jsonData;
}
?>

为了方便起见,我们在本地的数据库中创建了一个名为test的数据库,其中包含一个名为sites的表。

这个表包含以下字段:id、name、url、alexa、country、rank。

注意,我们只使用了其中的id和name字段,所以你可以在自己的项目中按需更改数据源。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS控件bootstrap suggest plugin使用方法详解 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 简单了解JavaScript中的new Function

    下面是有关JavaScript中的new Function的详细解释和示例: 什么是new Function? new Function是JavaScript语言中的一种特殊语法,它可以使用字符串的形式来动态创建一个函数。 语法格式如下: new Function([param1, param2, …paramN], functionBody) 其中,p…

    JavaScript 2023年5月27日
    00
  • JS加密插件CryptoJS实现的DES加密示例

    下面我将为您详细讲解使用JS加密插件CryptoJS实现的DES加密示例的攻略。 1. 安装CryptoJS 可以通过以下方式安装CryptoJS: 使用npm安装 打开终端窗口,输入以下命令: npm install crypto-js 使用CDN引入 在HTML文件头部引入CryptoJS库: <script src="https://c…

    JavaScript 2023年5月19日
    00
  • 关于前端JavaScript ES6详情

    关于前端JavaScript ES6详情的完整攻略: 什么是ES6 ES6是ECMAScript 6.0的简称,它是JavaScript的下一代语言标准,也叫做ECMAScript 2015,它在2015年6月正式发布。ES6拥有更加清晰的语法、更丰富的功能和更强的表现力,它可以让开发者更加便捷地编写高效、易读、易维护的JavaScript代码。 ES6的新…

    JavaScript 2023年5月18日
    00
  • JavaScript 判断判断某个对象是Object还是一个Array

    判断某个对象是Object还是Array,可以通过以下代码实现: if (typeof obj === ‘object’ && obj instanceof Array) { // obj是Array类型 } else { // obj是Object类型 } 关键点解释: typeof obj === ‘object’:使用typeof操作符…

    JavaScript 2023年5月27日
    00
  • element多个表单校验的实现

    我们来详细讲解一下如何通过element实现多个表单校验。 确定要校验的表单 首先,需要确定需要进行校验的表单。可以根据业务需求,选择需要进行校验的表单元素。例如,我们需要对登录表单的“用户名”和“密码”两个表单元素进行校验。 导入element UI 接下来,引入element UI的表单校验组件。在Vue.js项目中,通常可以在main.js文件中引入e…

    JavaScript 2023年6月10日
    00
  • PHP如何读取由JavaScript设置的Cookie

    当 JavaScript 在客户端设置了 Cookie 后,PHP 服务端需通过 $_COOKIE 超全局变量来访问它。 要读取使用 JavaScript 设置的 Cookie,可以遵循以下步骤: 在 JavaScript 端通过 document.cookie 设置 Cookie。 在 PHP 端使用 $_COOKIE 超全局变量读取 Cookie 值。 …

    JavaScript 2023年6月11日
    00
  • JavaScript输出斐波那契数列的实现方法

    下面是详细的讲解“JavaScript输出斐波那契数列的实现方法”的完整攻略。 什么是斐波那契数列 斐波那契数列是指:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以递归的方式定义:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>=2,n∈N*>)。 实现方法 方法一:递归实现 递归实现斐波那契数列非常…

    JavaScript 2023年5月28日
    00
  • JS字符串拼接的几种常见方式总结

    下面是对于JS字符串拼接的几种常见方式总结的攻略,包含以下内容: 方式一:使用加号(+)拼接字符串 加号(+)是最常见的字符串拼接方式,具体语法如下: let str = ‘Hello, ‘ + ‘world!’; 其中,单引号(’)或双引号(”)用来包裹字符串内容,加号(+)用来拼接字符串,可以看到在以上例子中,我们通过加号把两个字符串连接了起来。 值得注…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部