我正在尝试设置在填充下拉列表时从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);
});
}
});
});
答案 0 :(得分:2)
$.each(data,function(key,value) {
if(key == selectedValue)
$('#title').append('<option selected value="'+key+'">'+value'+</option>');
else
$('#title').append('<option value="'+key+'">'+value'+</option>');
});