0

嗨,我在加载我的 htmlpage 后进行了 ajax 调用

<body onload="init_myfunc();">
<div class="left searchtop" id="suggestionbox" align="center">
-----------------------

我的 init_myfunc() 是...

function init_myfunc(lenletters)
{
  if (typeof lenletters =='undefined' ) {
    var search = '{{q_url}}';
    var query = search.split('?q=')[1];
    query = query.split('&')[0];
    var loc = search.split('&amp')[1];
    loc = loc.split('=')[1];
    var search_val = $("#autosuggest").val();
    requestData = {};
    if(typeof(Storage)!=="undefined"){
      requestData['rec_searches'] = localStorage.getItem('saved_searches');
    }
    requestData['page'] = 'searchboxlong'
    requestData['spellcheck'] = query;
    if(loc!= 'all')
      requestData['location'] = loc;

    $.get('/college-search/autosuggest/', requestData, function(data){$('#suggestionbox').html(data);});

   //$("#autosuggest").val(query); -- This is not working

  }
}

现在我想在ajax调用完成后调用这段代码

$("#autosuggest").val(query);

我尝试在我的 ajax 调用下编写它,但它不起作用。ajax 加载后...文本框变为空

他们是在ajax调用完成后设置文本框值的方法吗

谢谢

4

1 回答 1

1

您必须在成功回调中执行此操作。

 $.get(
     '/college-search/autosuggest/',
     requestData,
     function(data){
         $('#suggestionbox').html(data); 
         $("#autosuggest").val(query);
     }
 );
于 2013-11-15T06:07:57.070 回答