2014-02-04 2 views
2

Добрый день,как вызывать «если нет результата поиска» на select2?

Как я могу вызвать «нет результата поиска» на select2? например, я хочу добавить прослушиватель событий в текстовое поле select2, но только когда результат не найден?

вот мой JS код:

$("#textBoxId").select2({ 
    placeholder: 'Select a product', 
    formatResult: productFormatResult, 
    formatSelection: productFormatSelection, 
    dropdownClass: 'bigdrop', 
    escapeMarkup: function(m) { return m; }, 
    formatNoMatches: function(term) { 
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>"; 
    }, 
    minimumInputLength:1, 
    ajax: { 
     url: '/api/productSearch', 
     dataType: 'json', 
     data: function(term, page) { 
      return { 
       q: term 
      }; 
     }, 
     results: function(data, page) { 
      return {results:data}; 
     } 
    } 
}); 

Я попробовал, добавив:

formatNoMatches: function(term) { 
     $('.select2-input').on('keyup', function(e) { 
     if(e.keyCode === 13) 
      { 
      $("#modalAdd").modal(); 
      } 
     }); 
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>"; 
    }, 

И это сработало, модальный показывает, когда я нажимаю «клавишу ввода», но даже если я не что-нибудь найти , когда я нажимаю клавишу ввода, модальный показывается.

Что я хочу достичь, так это то, что, когда «результат не найден», я могу открыть свою модальную форму, просто нажав клавишу «Ввод», а не на ссылку, чтобы модальная форма была открыта .. Спасибо вы очень много для помощи! Хорошего дня!

ответ

1

путем поиска некоторые альтернативы, я подошел к этому коду, я просто отвязать событие KeyUp слушателя раз модальный был называться здесь мой код:

formatNoMatches: function(term) { 
     var flag = 1; 
     $('.select2-input').on('keyup', function(e) { 
     if(e.keyCode === 13) 
      { 
      $("#modalAdd").modal(); 
      $(".select2-input").unbind("keyup"); 
      } 
     }); 
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>"; 
    } 
0

Заменить result: function(data, page) на processResults: function(data, page) подмигнули Работа

Смежные вопросы