2014-09-22 4 views
0

Я хочу, чтобы моя кнопка отправки была отключена, если результатов поиска не было найдено. Форма не должна подаваться в этом случае. Я использую typeahead.js. Это код, который я используюОтключить кнопку отправки, если результаты пустые typeahead.js

$('.typeahead').typeahead(null, { 
     name: 'suburb', 
     displayKey: 'suburb_name', 
     limit: 10, 
     source: suburb.ttAdapter(), 
     templates: { 
      empty: [ 
       '<div class="empty-message">', 
       'No results Found', 
       '</div>' 
       ].join('\n'), 
      suggestion: function (s){return '<p>'+s.postal_code+', '+s.suburb_name+'</p>';} 
     } 
    }); 
+0

Вы можете создать jsFiddle для того же –

ответ

2

Не существует прямого события в API типа ahead, когда источник возвращает пустой. Только идея, вы можете сначала отключить кнопку и включить кнопку, когда значение из typeahead выбрано, используя typeahead: selected и autocompleted events.

Документация пользовательского события here

$('.typeahead').on('typeahead:selected', enableSubmit); 
$('.typeahead').on('typeahead:autocompleted', enableSubmit); 


function enableSubmit(){ 

     //This will trigger when something is selected from typeahead 
     //Enable the button here 

} 
+0

Что сработало .. Спасибо – Ram

1

Вы можете искать ваш .empty-message класса и вызвать JQuery, когда ваш элемент вставляется в DOM.

$(document).on('DOMNodeInserted', function(e) { 
    if ($(e.target).is('.empty-message')) { 
     $("#myFormBtn").attr("disabled","disabled"); 
    } 
}); 
Смежные вопросы