Javascript 在.ajax()调用后设置所选值仅在发出警报后有效

Javascript 在.ajax()调用后设置所选值仅在发出警报后有效,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图在填充下拉列表时设置从Java会话中获取的选定值。在本例中,我想选择“selectedCtgry”,它也是被调用的响应json对象中的一个键 我知道有比赛条件。但我不知道如何克服这个问题。我还使用了附加到.ajax()函数的.done()。这样,成功处理程序和延迟处理程序都不起作用 我有办法解决这个问题吗 $(document).ready(function() { // alert("selectedCtgry: "+selectedCtgry); var selected

我试图在填充下拉列表时设置从Java会话中获取的选定值。在本例中,我想选择“selectedCtgry”,它也是被调用的响应json对象中的一个键

我知道有比赛条件。但我不知道如何克服这个问题。我还使用了附加到.ajax()函数的.done()。这样,成功处理程序和延迟处理程序都不起作用

我有办法解决这个问题吗

$(document).ready(function() {
    // alert("selectedCtgry: "+selectedCtgry);
   var selectedCtgry=document.getElementById("title").value;
   $("#title").one("click", function() {  
    if(selectedCtgry!=null){
                  var d1 = null;
                        $.ajax({
                             url : 'UpdateHelperServlet',
                             data: {title : selectedCtgry}, 
                             type: 'get',                   
                             dataType:'json',
                             async: false,                   
                             success : function(data) {  
                                      var $options = $();
                                      $.each(data,function(key,value) {
              $options = $options.add($('<option/>').attr('value', key).text(value));
                             });
                             $("#title").html($options);
                             alert("typeof key");
                             $("#title").val(selectedCtgry);          

                              });
                        } 
               });
    }); 
$(文档).ready(函数(){
//警报(“selectedCtgry:+selectedCtgry”);
var selectedCtgry=document.getElementById(“title”).value;
$(“#title”).one(“单击”,函数(){
if(selectcgry!=空){
var d1=null;
$.ajax({
url:'UpdateHelpPerservlet',
数据:{title:selectedCtgry},
键入:“get”,
数据类型:'json',
async:false,
成功:函数(数据){
var$options=$();
$。每个(数据、函数(键、值){
$options=$options.add($('').attr('value',key).text(value));
});
$(“#title”).html($options);
警报(“钥匙类型”);
$(“#title”).val(selectedCtgry);
});
} 
});
}); 
$。每个(数据、功能(键、值){
如果(键==selectedValue)
$('#title')。追加(''+value'+');
其他的
$('#title')。追加(''+value'+');
});

我相信你可以更好地格式化。我看不到比赛条件。这是你想要的条件。我似乎无法理解你的确切问题!-/hi ahsan我的解决方案有什么问题吗
 $.each(data,function(key,value) {

     if(key == selectedValue)
        $('#title').append('<option selected value="'+key+'">'+value'+</option>');
     else
        $('#title').append('<option value="'+key+'">'+value'+</option>');
});