簡體   English   中英

在.ajax()調用之后設置選定的值僅在警報之后有效

[英]Setting selected value after .ajax() call only works after alert

我正在嘗試設置我在填充下拉列表時從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);          

                              });
                        } 
               });
    }); 
 $.each(data,function(key,value) {

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM