Hi
I am trying to implement a search function in titanium.What i am doing that after user enter some text in search bar it retrieves that data on that basis but the problem what i am facing is that the content gets downloaded fine but table does not get updated properly.i know i am doing something very stupid but cant figure out.here goes my code plz search with bulls
keyword
var self = Ti.UI.createWindow({ backgroundColor : 'white', title : 'Programs' }); var search = Titanium.UI.createSearchBar({ barColor : 'black', showCancel : false, hintText : 'Search' }); search.addEventListener('change', function(e) { // search string as user types }); search.addEventListener('return', function(e) { getResult(self, tableview, e.value); search.blur(); }); search.addEventListener('cancel', function(e) { search.blur(); }); // create table view var tableview = Titanium.UI.createTableView({ search : search }); self.add(tableview); //Titanium.App.Properties.setInt('row',''); // create table view event listener tableview.addEventListener('click', function(e) { }); // add table view to the window self.add(tableview); self.addEventListener('android:back', function(e) { self.close(); }); self.open(); function getResult(self, jsonTable, search) { var tableData = []; var myfontsize = (Titanium.Platform.displayCaps.platformHeight * 3) / 100; var customFont = 'MyriadHebrew-Regular'; var url = 'http://www.sportscrunch.com/api/v1/search/?search=' + search + '&format=json'; Ti.API.info('Search url ' + url); var xhr = Ti.Network.createHTTPClient({ onload : function(e) { var results = JSON.parse(this.responseText); Ti.API.error(results.teams.length); for (var i = 0; i < results.teams.length; i++) { var teams = results.teams[i].label; Ti.API.info(teams); tableData = []; jsonTable.setData([]); // var players = results.players[i].label; var row = Ti.UI.createTableViewRow({ height : '65dp', width : Ti.UI.FILL }); var imageView = Ti.UI.createImageView({ // image : result.thumb, width : Ti.UI.SIZE, height : Ti.UI.SIZE, left : '1dp', top : '1dp' }); var labTitle = Ti.UI.createLabel({ color : 'black', font : { fontSize : myfontsize, fontWeight : 'bold' }, height : Ti.UI.SIZE, textAlign : 'center', text : teams, top : '2%', width : Ti.UI.FILL }); row.add(imageView); row.add(labTitle); tableData.push(row); } jsonTable.setData(tableData); }, onerror : function(e) { Ti.API.debug(e.error); }, timeout : 5000 }); xhr.open("GET", url); xhr.send(); }Thanks