var SearchController = Backbone.Model.extend({ options: {}, initialize: function(options) { var that = this; $.extend(true, that.options, options); if ($('#search').size() == 1) { $('#search').submit(function() { that.search(); return false; }); $('#search .submit').click(function() { that.search(); return false; }); } }, search: function() { var that = this; var query = that._filterQuery($('#query').val()); var url = '/de/suche/' + query + '?format=html'; application.controller.map.startLoading(); var m = application.controller.message.addMessage('map', 'Suche nach "' + query + '" wird durchgeführt.', 'loading'); $.ajax({ url: url, success: function(data) { application.controller.message.changeMessage(m, 'Suchergebnis wurde geladen.', 'info', 3000); that._onSuccess(data); } }); }, _filterQuery: function(q) { q = q.replace('/', ''); q = q.replace('?', ''); return q; }, _onSuccess: function(data) { $('#content').html(data); application.controller.map.endLoading(); } });