我用的是js库select2 .这是我现在的截图:
开始:
点击下拉菜单:
现在可以有一个输入字段而不是直接的下拉列表吗?我知道这是可能的,因为您可以在 select2 网站上找到它。一个例子是这样的:
但是文档非常简短。这就是我现在拥有的:
<input type="text" name="questions[question1]" id="question1" class="question1" style="width:500px"/>
function createQuestionTags(data, question_number){
$(".question" + question_number).select2({
createSearchChoice: function (term, data) {
if ($(data).filter(function () {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {
id: term,
text: term
};
}
},
data: data,
placeholder: "Enter Question",
allowClear:true
});
}
(数据是从ajax调用接收到的)
最佳答案
您在该示例中看到的实际上是一个多选或多值下拉框。它不是像您在代码中使用的那样的单值下拉框。根据 Select2 网站,select2 将检测到您正在尝试使用多选框,并将自动应用该样式而不是默认样式(下拉箭头等)。
如果您实际上需要一个单值下拉框,则没有直接的方法让它以多选格式显示,使其看起来像一个普通的输入框。可能有一种方法可以通过添加或删除 CSS 类来伪造它。我试了一下,但没找到。
因为您不需要格式、搜索框或多选功能(我假设),您可能不需要使用 select2 库。
更新:看来您不是第一个尝试这样做的人。他们计划添加此功能,但可能需要一段时间: https://github.com/ivaynberg/select2/issues/1345
关于javascript - Select2 从输入字段开始而不是下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223044/