好吧,我确定这里有一些简单的设置错误,但我不是100%它是什么.
所以我试图使用Select2 AJAX方法作为用户搜索数据库和选择结果的方式.呼叫本身会返回结果,但不允许我从列表中选择答案.它似乎也不允许您在悬停或向上/向下箭头上"选择"它.所以不用多说,这是我的代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="select2/select2.css" media="screen" />
<script src="select2/select2.js"></script>
<script src="select.js"></script>
</head>
<body>
<input type="text" style="width: 500px" class="select2">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
jQuery(function() {
var formatSelection = function(bond) {
console.log(bond)
return bond.name
}
var formatResult = function(bond) {
return '<div class="select2-user-result">' + bond.name + '</div>'
}
var initSelection = function(elem, cb) {
console.log(elem)
return elem
}
$('.select2').select2({
placeholder: "Policy Name",
minimumInputLength: 3,
multiple: false,
quietMillis: 100,
ajax: {
url: "http://localhost:3000/search",
dataType: 'json',
type: …Run Code Online (Sandbox Code Playgroud) 我在我的搜索框上使用select2.我从我的网址获得结果,但我无法从中选择一个选项.我想使用'product.productName'作为选择后显示的文本.有什么我错过了或我做的任何错误.我已经包含了select2.css和select2.min.js,jquery.js
function dataFormatResult(product) {
var markup = "<table class='product-result'><tr>";
markup += "<td class='product-info'><div class='product-title'>" + product.productName + "</div>";
if (product.manufacturer !== undefined) {
markup += "<div class='product-synopsis'>" + product.manufacturer + "</div>";
}
else if (product.productOptions !== undefined) {
markup += "<div class='product-synopsis'>" + product.productOptions + "</div>";
}
markup += "</td></tr></table>";
return markup;
}
function dataFormatSelection(product) {
return product.productName;
}
$(document).ready(function() {
$("#e7").select2({
placeholder: "Search for a product",
minimumInputLength: 2,
ajax: {
url: myURL,
dataType: 'json',
data: function(term,page) {
return { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用最新版本的 Select2 来查询我网站的 API 并返回一个多选。它正在获取正确的数据,甚至正确格式化下拉列表,将返回对象中的两个键组合为“(A-123) John Johnson”,但下拉列表没有响应鼠标悬停或点击。
我正在使用 select2.full.min.js 和 select2.min.css 文件。出于该项目的目的,我将它们包含在目录中并通过 cshtml 中的 Bundles 访问它们,而不是通过 CDN 访问它们。
HTML:
<div>
<select class="user-list" multiple="multiple" style="width: 100%">
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
目前,它看起来像这样,这就是我想要的:

不确定这是否相关,但是当我在搜索时浏览生成的源代码时,输入看起来不错,但下拉列表的代码显示为灰色,好像它被隐藏了一样。


根据我在此处和其他地方找到的其他建议,我尝试了几种不同的解决方案。我最终发现了 templateResult 和 templateSelection 应该如何工作(不是特别感谢文档),并尝试返回 ID,但我似乎仍然无法实际选择任何内容,甚至在我悬停时得到响应选项。
这是我的结论,包括一些调试以确保返回的对象有效。
JS:
// Setup autocomplete/select for User filter
$(".user-list").select2({
ajax: {
url: "[api url]",
type: "GET",
dataType: "json",
data: function (params) {
return {
search: params.term, // search term
page: params.page
};
},
processResults: function (data) {
console.log(JSON.stringify(data));
return {
results: data
};
},
}, …Run Code Online (Sandbox Code Playgroud)