1. 两次输出的time_key 不一样..
 var time_key = 0;
$.post('<?php echo $ajaxUrl['time'] ?>',arg , function(data){ $("#time").empty();
$.each(data.data, function(key, val) {
 if(val == time)
{
 time_key = key;  
 alert(time_key);  // 这边的值是需要的
 }
     $("#time").append("<option value='"+ key +"'>"+ val+"</option>");   //为Select追加一个Option(下拉项) }); }, 'json');

alert(time_key);  // 这边的值又变成0了
$('#time').val(time_key);
$('#time').attr("value",time);
2.select 的 value 值 和显示的的不一样javascripthtml

解决方案 »

  1.   

    如果实在不理解就这么做,
    这样解决。你在jsp里面写一个<input id="hiddenId" type="hidden" value=""/>
    到这一步时候
        time_key = key;改为如下:
       $("#hiddenId").val(key);    $('#time').val($("#hiddenId").val());
      
       
      

  2.   

    老问题了,把$('#time').val(time_key);放到ajax的回调函数里面去。$.post('<?php echo $ajaxUrl['time'] ?>',arg , function(data){
     
                $("#time").empty();
                $.each(data.data, function(key, val) {
                     if(val == time)
                    {
                         time_key = key;  
                         alert(time_key);  // 这边的值是需要的
                     }
                     $("#time").append("<option value='"+ key +"'>"+ val+"</option>");   //为Select追加一个Option(下拉项)
     
                });
            $('#time').val(time_key); 
            }, 'json');