我正在使用jQuery插件Select 2。通过我正在使用的设置,我允许"多个"从链接到我的员工数据库的Ajax响应中进行选择。基本上允许我选择多个员工。然后,我可以保存数据并循环选项并将其存储到数据库中。
我面临的问题是我现在回到这个页面"编辑"信息,我预先加载了我之前选择的用户,但也需要能够支持AJAX搜索其他员工。
有没有人做过这样的事情或知道可能的解决方法?
//Build preset carpool members
<?php $counter = 1; foreach($fetchData->data as $data){ ?>
var preload_data<?php echo $counter;?> = [
<?php foreach($data->carpool->employees as $dataCP){
$result .= "{ id: '".$dataCP->empID."', text: '".$dataCP->LastName.", ".$dataCP->FirstName."'},";
}
echo rtrim($result, ',');
?>
];
$('#carpool<?php echo $counter; ?>').select2({
multiple: true,
query: function (query){
var data = {results: []};
$.each(preload_data<?php echo $counter; ?>, function(){
if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
data.results.push({id: this.id, text: this.text });
}
});
query.callback(data);
},
ajax: {
url: "jsonUser.php",
dataType: 'json',
data: function (term) {
return {
term: term, // search term
};
},
results: function (data) { // parse the results into the format expected by Select2.
return {results: data};
}
},
});
$('#carpool<?php echo $counter; ?>').select2('data', preload_data<?php echo $counter; ?> )
<?php $counter++; } ?>
上面的代码预装了多个select2字段,员工姓名很好。但是,当显然有预加载数据时,它不允许ajax部分工作。
试着看看我是否遗漏了这件事?