jquery-input-match是一個JQuery的插件用于處理根據input輸入框內容實時顯示與之匹配的數據條目
jquery-input-match
jquery-input-match是一個JQuery的插件用于處理根據input輸入框內容實時顯示與之匹配的數據條目
- 提供定制皮膚的方式
- 待匹配的數據可以是靜態數據也可以是異步從服務器請求的數據
- 豐富的參數滿足所有的需求 </ul>
使用說明
前端 HTML示例
<html>
<head>
<title>輸入框自動提示</title>
<meta charset="utf-8">
<script type="text/javascript" src="../jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="../jquery-input-match.min.js"></script>
</head>
<body>
<input type="text" style="margin-top:100px;margin-left:500px;" name="a" class="input"/>
<input type="text" style="margin-top:100px;margin-left:600px;" name="b" class="input"/>
<script type="text/javascript">
//異步請求的數據作為待匹配的數據
$(".input").eq(0).inputMatch({
url:"demo.php",
timeout:500,
selectCallback:'demo',
mustSelect:false,
asParam:true,
paramName:'x',
});
//靜態數據作為待匹配的數據
$(".input").eq(1).inputMatch({
data:[
{value:1,text:'sfs'},
{value:1,text:'明天dfgd啊實asdaadasdada打實大'},
{value:1,text:'dgadfgddas'},
{value:1,text:'qeg'},
{value:1,text:'sfddfdad'},
{value:1,text:'sfddfdad'},
{value:1,text:'xbgg'},
{value:1,text:'yudfgdghf'},
{value:1,text:'cnsdffs'},
{value:1,text:'rgdgdf'},
{value:1,text:'iokjdfgdkhj'},
{value:1,text:'qwqdfdada'},
{value:1,text:'ujmgng'},
{value:1,text:'cbfdfgdghn'},
],
timeout:500,
selectCallback:'demo',
mustSelect:false,
filter:true,
matchOnFocus:true,
fillRightNow:false,
});
//選擇數據條目后的回調函數
function demo(value,text){
alert("您選中了"+text);
}
</script>
</body>
</html> 后端 PHP示例 (demo.php)
<?php
$arr=array(
array('value'=>12,'text'=>'qwer'),
array('value'=>123,'text'=>'abcdefg'),
array('value'=>142,'text'=>'adadfgrt5tdada'),
array('value'=>162,'text'=>'adadagjdgsfsda'),
);
echo json_encode($arr);
?>參數說明
| 參數名稱 | 參數值 |
|---|---|
| skin | 皮膚,默認default |
| data | 待匹配的靜態數據 |
| url | 獲取待匹配數據數據的地址 (data和url兩個參數二選一,當兩個參數同時傳入時只處理data的數據) |
| asParam | 輸入內容是否作為url參數:true,false 默認false (與url參數一同傳入時才生效) |
| paramName | 參數名 (與asParam參數一同傳入時才生效) |
| repeatRequest | 相同url是否重復請求服務器:true,false 默認false (與url參數一同傳入時才生效) |
| timeout | 停止輸入后多久從服務器拉取數據 (單位毫秒 默認300) |
| showOnFocus | 輸入框獲得焦點時是否觸發顯示數據列表:true,false 默認false |
| match | 數據列表是否只顯示與輸入內容相匹配的條目:true,false 默認true |
| mustSelect | 輸入框的值是否必須從數據列表中選擇:true,false 默認false |
| maxLength | 數據列表的最大顯示長度 (默認15,0則顯示全部) |
| fillRightNow | 鼠標或上下鍵在數據列表上移動時輸入框是否實時顯示 |
| selectCallback | 選擇數據時的回調函數 (默認空) |
提示
- 當input控件在表單內,使用上下鍵選擇數據后回車選中時,會阻止表單提交的默認行為,如需在選中后提交表單請在回調函數中處理
- 含特殊符的數據請處理后傳入 如 ' " < > 等
- 參數data或服務器返回的數據(json)的格式
[
{value:1,text:'第一名'},
{value:2,text:'第二名'},
{value:3,text:'第三名'}
]皮膚制作指南
- themes文件夾內新建css文件 styleName.css
- styleName.css的格式如下
@CHARSET "UTF-8";
#styleName-input-match-box{
//your style
}
#styleName-input-match-box li{
//your style
}
#styleName-input-match-box li.on{
//your style
}- 傳入皮膚參數 {skin:styleName}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!