gpt4 book ai didi

coffeescript - Select2 搜索框

转载 作者:行者123 更新时间:2023-12-02 02:06:04 27 4
gpt4 key购买 nike

我的以下功能存在格式问题。正如您将在下面看到的,它大部分都有效,只是搜索框的格式不是我想要的(我想复制 typeahead Twitter Bootstrap 功能):

用户可以在搜索框中输入书名,在搜索框下方的下拉列表中获取可供选择的书籍(通过 ajax),然后选择一本书。在下拉列表中选择一本书后,将填写一个表格,其中包含图书信息。就像这样:

enter image description here

我的问题是 select2 会自动更改搜索输入的格式(在搜索框中的所选项目周围添加 css)。看这里:

enter image description here

问题

我知道这不完全是 Select2 的用途,但我希望搜索框的值是“rails”,完全按照我输入时的样子显示(第一个屏幕截图)。 如何保持常规输入格式?

详细信息:

这是我目前的 coffeescript 代码(它具有图片的异步加载和选择的格式):

jQuery ->

get_image = (unique_id, image_url) ->
img = $("<img />").load(->
$(".#{unique_id} .typeahead_photo_wrapper").html(img)
).error(->
$(".#{unique_id} .typeahead_photo_wrapper").html("No preview")
).addClass('typeahead_photo').attr({src: image_url}).fadeIn(500)


format_item = (book) ->
console.log book
itm = ''
itm += "<div class='typeahead_wrapper #{book.isbn}'>"
itm += "<div class='typeahead_photo_wrapper'>"
itm += "<div class='typeahead_photo'>...</div>"
itm += "</div>"
itm += "<div class='typeahead_labels'>"
itm += "<div class='typeahead_primary'>#{book.title}</div>"
itm += "<div class='typeahead_secondary'>#{book.author}</div>"
itm += "</div>"
itm += "</div>"

get_image(book.isbn, book.image)
itm


update_with_item = (item) ->
keywords = $("#learning_item_book_search").val()
# console.log item

$("#new-book #learning_item_unique_identifier").val(item.isbn)
$("#new-book #learning_item_source").val(item.source)
$("#new-book #learning_item_name").val(item.title)
$("#new-book #learning_item_description").val(item.description)
$("#new-book button").focus()
item.title



retrieve_books = (data) ->
books = []
$.each data, (i, item) ->
books.push(
id: item.id
isbn: item.isbn
title: item.title
author: item.authors
description: item.description
image: item.volume_info.imageLinks.smallThumbnail
)
books


$("#learning_item_book_search").select2({
minimumInputLength: 2
tags: true
ajax:
url: "/raw_items/fetch_books"
dataType: 'json'
quietMillis: 200
data: (term, page) ->
query: term
results: (data, page) ->
return {results: retrieve_books(data)}
maximumSelectionSize:1
formatResult: format_item
formatSelection: update_with_item
formatInputTooShort: (term, minLength) ->
"Searching book on Google books"
dropdownCssClass: 'typeahead'
})

最佳答案

您可以将 select2 置于多选模式 - 这将使它看起来像您想要的常规文本字段。使用 maximumSelectionSize:1 选项将选择限制为单个项目。在原始 html 控件上使用“更改”事件来填充表单。

关于coffeescript - Select2 搜索框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964960/

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