javascript - Div content doesn't changes on first click -


i have problem changing div's content. make ajax call first , receive json array server. far, good. then, want change several div's content i've received server. problem content doesn't changes on first click. response ok every time, i've checked fiddler , in code, receiving correct response. but, mystery remains why div's on page not changed first click why have click twice every time? i've spend hours figuring out, tried everything, nothing seems logical. here's code (project mvc 4):

$('#btnsearch').click(function () {     var searchstr = $('#txtsearch').val();     var noofpages = 1;      $.ajax({         type: "post",         datatype: 'json',         url: $('#btnsearch').data('request-url'),/*url razor's page*/         data: { pageno: noofpages, searchstring: searchstr },/*mvc 4 call*/         success: function (jsontext)         {              $('#hiddensearchresult').val(jsontext);         },         error: function ()         {             alert('error when searching!');         }     });      var json = $('#hiddensearchresult').val();     if (json.length === 0){ alert('result empty!');     return;}/*with empty json, parsing throws error*/     json = json.parse(json);     if (json.content == undefined) return;      (var = 0; < json.content.length; i++) {         switch (i) {             case 0:                  $('#snippetsdivinner').html(json.content[i].contentstring);                 break;             case 1:                  $('#snippetsdivinner1').html(json.content[i].contentstring);                 break;             case 2:                  $('#snippetsdivinner2').html(json.content[i].contentstring);                 break;             case 3:                  $('#snippetsdivinner3').html(json.content[i].contentstring);                 break;         }     } }); 

the code var json = $('#hiddensearchresult').val() onwards executed right after ajax request started, before completed, @ time $('#hiddensearchresult') isn't populated yet.

when click button second time, has been populated completion of ajax request, , code after $.ajax executes expect.

you should move code inside success function have executed when ajax request completes.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -