gpt4 book ai didi

symfony - 多对多 Ajax 表单(Symfony2 表单)

转载 作者:行者123 更新时间:2023-12-02 13:52:58 28 4
gpt4 key购买 nike

我在 mongodb 中的玩家和锦标赛之间存在多对多关系。

我希望能够一次将许多玩家添加到锦标赛中。如果没有 ajax,这很简单,但我们有一个包含数千名玩家的数据库,因此表单选择变得巨大。

我们想为此使用 ajax。是否可以创建一个小部件(带有js)来正确处理这个问题?如果是这样,有关于使用什么 jquery 插件(或其他)的提示吗?

如果不是,那么执行此操作的标准策略是什么?我想我可以大幅更改此表单的 View ,并使用 ajax 自动完成功能一次添加一名玩家,然后使用更多代码一次删除一名玩家。然而,我真的很想有一个可以重复使用的小部件,因为它更干净,而且看起来更高效。

我一直在玩Select2一整天(类似于 jQuery 选择),我可以通过 ajax 添加许多玩家,但它不允许我在最初加载页面时设置已附加的玩家,所以我无法看到谁已经添加了在锦标赛中,并且必须重新输入每个人的内容。

感谢您对此事的任何意见!我通过谷歌找不到任何东西。

最佳答案

我能够通过 onload 函数中的构造函数之后的 $.ajax 来完成此操作,其中 //website/jsonItem 是所有项目的 json 编码列表, //website/jsonItemUser 是附加到用户的所有项目的 json 编码列表。我使用 // 来保持调用之间的 https/http 一致。

$(document).ready(function(){
$('.selectitem').select2({
minimumInputLength:0
,multiple: true
,ajax: {
url: "//website/jsonItem"
,dataType: 'jsonp'
,data: function (term, page) {
return {
q: term, // search term
limit: 20,
page: page
};
}
,results: function (data, page) {
var more = (page * 20) < data.total;
return {
results: data.objects, more: more
};
}
}
,initSelection: function(element, callback){
var items=new Array();
$.ajax({
url: "//website/jsonItemUser"
});
callback(items);
}
});
$.ajax({
url: "//website/jsonItemUser"
,dataType: 'jsonp'
,success: function(items, status, ob) {
$('.selectitem').select2('data',items);
}
});
});

关于symfony - 多对多 Ajax 表单(Symfony2 表单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11462839/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com