我使用jquery tokeninput来填充输入来自服务器的数据,例如:
$(".input").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
prePopulate: [{id: 123, name: "Slurms MacKenzie"}],
});
所以现在我有一个问题,我想在一个具有特定数据的网站上填写几个输入,所以我改变了我的代码:
<input type="text" id="1" class="input" name="blah" />
<input type="text" id="2" class="input" name="blah" />
var array = [
{id: 123, name: "Smith", input: "1"},
{id: 156, name: "Kanye", input: "2"},
{id: 134, name: "MacKenzie", input: "1"}
]
$(".input").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
prePopulate: array
});
你怎么看到我在数组input
中添加了id
输入所定义的项目应该是什么,例如:
{id: 156, name: "Kanye", input: "2"}
只应输入id 2
那么如何只过滤$(this).attr(“id”)与输入值相同的数组条目:在数组中?
答案 0 :(得分:1)
抓取每个.input
,使用$.grep()过滤相应id
的数组,并使用已过滤的数组初始化tokenInput
var array = [
{id: 123, name: "Smith", input: "1"},
{id: 156, name: "Kanye", input: "2"},
{id: 134, name: "MacKenzie", input: "1"}
];
$(".input").each(function(_, item) {
var filtered= $.grep(array, function(el) {
return el.input == item.id;
});
$(this).tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
prePopulate: filtered
});
});