Select2 -拒绝清除输入字段,如果没有找到结果则禁用表单

Select2 - Deny to can clean the input field and disable the form if results not found

本文关键字:结果 表单 如果没有 拒绝 清除 输入 字段 Select2      更新时间:2023-09-26

我在/api/searches上有这个json文件:

[{"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删除

我想,如果没有发现结果或用户单击文本字段外,关键字不被删除,我的表单不禁用

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

你必须添加selectOnBlur:true选项到你的配置和升级到最新的主。这里是一个工作小提琴:http://jsfiddle.net/nqWNJ/7/