Php 除非调试代码,否则Javascript值为空

Php 除非调试代码,否则Javascript值为空,php,jquery,ajax,Php,Jquery,Ajax,我有一个函数,可以进行ajax调用,并获取车辆品牌列表 var car_make_list_target_id = 'car_make'; var make_year_list_select_id = 'years'; var car_model_list_target_id = 'car_model';function get_car_model(){ var car_model_initial_target_html = '<option value="">--Select M

我有一个函数,可以进行ajax调用,并获取车辆品牌列表

var car_make_list_target_id = 'car_make';
var make_year_list_select_id = 'years';
var car_model_list_target_id = 'car_model';function get_car_model(){

var car_model_initial_target_html = '<option value="">--Select Model--</option>';
//Grab the chosen value on first select list change
var selectvalue = $('#car_make').val();
alert('first alert ' + selectvalue);
var yearvalue = $('#' + make_year_list_select_id).val();
//Display 'loading' status in the target select list
$('#' + car_model_list_target_id).html('<option value="">Loading Car Models</option>');

if(selectvalue === ""){
    //Display initial prompt in target select if blank value selected
    $('#' + car_model_list_target_id).html(car_model_initial_target_html);
} else{
    //Make AJAX request, using the selected value as the GET
    $.ajax({
        url: 'get_model.php?make=' + selectvalue + '&year=' + yearvalue,
        success: function(output){
            //alert(output);
            $('#' + car_model_list_target_id).html(output);
        },
        error: function(xhr, ajaxOptions, thrownError){
            alert(xhr.status + " " + thrownError);
        }
    });
}

var selectvalue为空,但如果我离开断点,它将警告该选项的值并正确显示。在过去的4个小时里,我一直在绞尽脑汁,但我一直没有弄明白这一点。这是正常的浏览器行为还是我遗漏了什么?任何输入都会很好。

我不知道问题出在哪里,但请尝试超时您的评论说“在第一次选择列表更改时获取所选值”,但您没有设置
更改
事件处理程序。@RaymondFeliciano:这样的非现场链接不适用于此。SO的主要目的是将来对其他人有用。外部链接。使用堆栈片段(工具栏按钮
在此处设置一个本地链接)。@T.J.Crowder:我已经为ddl设置并更改了事件,甚至传递了选项的值,但它仍然不起作用,所以我删除了它。至于链接,对不起,我想你想看些东西。@Ishan Shah:设置超时似乎到目前为止还有效。谢谢,我不知道是什么问题,但请尝试使用TimeOut。您的评论是“在第一次选择列表更改时获取所选值”,但您没有设置
更改
事件处理程序。@RaymondFeliciano:这样的非现场链接不适用于此。SO的主要目的是将来对其他人有用。外部链接。使用堆栈片段(工具栏按钮
在此处设置一个本地链接)。@T.J.Crowder:我已经为ddl设置并更改了事件,甚至传递了选项的值,但它仍然不起作用,所以我删除了它。至于链接,对不起,我想你想看些东西。@Ishan Shah:设置超时似乎到目前为止还有效。谢谢
if(isset($_SESSION['vehicle_info'])){
    echo '<script>'
    .'$("#states option[value=' . $_SESSION['vehicle_info']['state'] . ']").attr("selected","selected");'
    .'$("#years option[value=' . $_SESSION['vehicle_info']['year'] . ']").attr("selected","selected");'
    . ' $("#years").prop("disabled", false);'
    . ' $("#car_make").prop("disabled", false);'
    . ' $("#car_model").prop("disabled", false);'
    . 'get_car_make();//This works'
    . 'get_car_model();//This does not work unless I debug javascript'
    . '</script>';
}
var selectvalue = $('#car_make').val();
alert('first alert ' + selectvalue);