0

我有这个 json 文件/api/searches

[{"id":"513dbb61a61654a845000005","text":"ingeniero agrónomo"},{"id":"513a11d4a6165411b2000008","text":"ingeniero industrial"}]

我正在使用 select2 来显示结果。

这是我当前的 select2 设置:

$('#query_txt').select2
  createSearchChoice: (term, data) ->
    if $(data).filter(->
      @text.localeCompare(term) is 0
    ).length is 0
      id: term
      text: term
  width: 'resolve'
  minimumInputLength: 3
  tags: true
  showSearchBox: true
  maximumSelectionSize: 1
  closeOnSelect: true
  multiple: false
  selectOnBlur: true
  ajax:
    url: "/api/v1/cvs/searches"
    quietMillis: 100
    dataType: 'json'
    data: (term, page) ->
      q: term, 
      page_limit: 9
    results: (data, page) ->
      results: data
  initSelection: (element, callback) ->
    $.get "/api/searches/" + element.val(), (data) ->
      callback {id: data.id, text: data.occupation}

在此示例中,http://jsfiddle.net/nqWNJ/6/http://jsfiddle.net/uDrvp/1/如果您在文本字段中键入单词"asdfasdf"或随机单词,并且如果您单击输入字段的输出,关键字保留在输入中,并且该关键字不会被 select2删除

我想,如果没有找到结果或用户在文本字段之外单击,则不会删除关键字并且不会禁用我的表单

我怎样才能达到这个目的?

4

1 回答 1

1

您必须在配置中添加selectOnBlur:true选项并升级到最新的 master。这是一个工作小提琴:http: //jsfiddle.net/nqWNJ/7/

于 2013-03-15T19:07:33.740 回答