1

I wrote a jquery-Widget with a method clear:

(function($) {
    $.widget('ccf.mobileHeaderAutocomplete', {
        ...
        clear: function () {
            this.ulElement.empty();
        },
        ...
    });
})(jQuery);

I sucessfully call another method on the input element:

$('.header-searchfield input')
    .on('input', function () {
        var value = $(this).val();
        $(this).mobileHeaderAutocomplete('suggest', value);
    });

I now want to call it when clicking a button (outside the input element, to which the widget is attached to), but it doesn't work:

$('.header-searchfield__close-button').on('click', function () {
    $('.header-searchfield input').data('mobileHeaderAutocomplete').clear();
}

The error in the JS console is Uncaught TypeError: Cannot read property 'clear' of undefined

I used this answer as reference and tried also ui-mobileHeaderAutocomplete. Am I missing something here?

Community
  • 1
  • 1
Florian Gössele
  • 4,376
  • 7
  • 25
  • 49

0 Answers0