我使用这个jQuery插件MagicSearch
我如何编程选择一个值(例如通过ID)?
这是我有。经过他们的回调函数进行仔细分析,我设计了一个方法来提取我的搜索列表中的ID和名称。
请发现代码到我的尝试:
<script>
var idList="";
var nameList = "";
$(function () {
var dataSource = "[{\"id\":1,\"name\":\"test\"},
{\"id\":2,\"name\":\"example\"},{\"id\":3,\"name\":\"image\"},
{\"id\":4,\"name\":\"election\"},{\"id\":5,\"name\":\"IPL\"},
{\"id\":6,\"name\":\"Fashion\"},{\"id\":7,\"name\":\"Movies\"},
{\"id\":8,\"name\":\"Pollution\"},{\"id\":9,\"name\":\"Modi\"},
{\"id\":10,\"name\":\"Rahul\"},{\"id\":11,\"name\":\"Cricket\"},
{\"id\":12,\"name\":\"Market\"},{\"id\":13,\"name\":\"TestKeyword\"},
{\"id\":14,\"name\":\"testkeyword1\"},{\"id\":15,\"name\":\"testkeyword2\"},
{\"id\":16,\"name\":\"testkeyword3\"}]";
$('#basic').magicsearch({
dataSource: dataSource,
fields: ['name'],
id: 'id',
format: '%name%',
hidden: true,
multiple: true,
focusShow: true,
isClear: true,
multiField: 'name',
multiStyle: {
space: 5,
width: 200
},
success: function ($input, data) {
idList = idList + data.id + ',';
nameList = nameList + data.name + ',';
// alert(data.id);
return true;
},
afterDelete: function ($input, data) {
idList = idList.replace(data.id + ',', "");
nameList = nameList.replace(data.name + ',',"");
//alert(data.id);
return true;
}
});
});
链接到小提琴:https://jsfiddle.net/yn0cmgjt/5/
请原谅我的不好的接口。我有困难的时候得到CDN连结此插件,不知何故,没有渲染的正确方法。但是,玩弄这一点,我希望这将足够您的需求。
两个列表(IDLIST和名称列表),我已经创建了用于在单个逗号分隔串级联的每个元素的ID和名称。一旦你有了这个字符串,可以提取出所需的信息。