如果值或ajax结果为空,则出错

时间:2014-07-26 05:35:08

标签: javascript jquery html ajax html5

我的问题是当emp_presentEmployment字段为空时我的ajax脚本无效,但如果我在数据库中为其设置了值,我的代码就可以工作。

任何人都可以帮我解决这种错误吗?

问题

$('.prof_presentEmployed[value='+result.emp_presentEmployment+']').prop('checked', true).trigger("click");

脚本

$(document).ready(function() {
    $('#pro_empinfo, #pro_empinfo1, #pro_empinfo2, #pro_empinfo3, #pro_empinfo4, #pro_empinfo5').click(function() {

        var data = {};
        data.emailCodeResult = $('#emailCodeResult').val();

        $.ajax({
            type: "POST",
            url: "Oppa/view/viewEmployment.php",
            data: data,
            cache: false,
            dataType: "JSON",
            success: function(result) {

                $('.prof_employed[value=' + result.emp_currentlyEmployed + ']').prop('checked', true).trigger("click");
                $('.prof_presentEmployed[value=' + result.emp_presentEmployment + ']').prop('checked', true).trigger("click");
                $("#prof_officeName").val(result.emp_officeName);
                $("#prof_officeAddress").val(result.emp_officeAddress);
                $("#prof_jobPosition").val(result.emp_jobPosition);
                $("#prof_noYearsInPosition").val(result.emp_noOfYearsinPresentJob);
                $("#prof_noYearsInGovPosition").val(result.emp_totalYearsinGovernmentService);
                $("#prof_statusOfEmployment").val(result.emp_statusOfEmployment);
                $(".show-page[data-page=Profile_Employment_info]").trigger("click");

            }
        });
        return false;

    });
});

1 个答案:

答案 0 :(得分:0)

你应该在尝试使用之前检查属性是否存在,并确保它不是空的。你需要检查空,因为你有选择器的方式,一个空值最终使选择器成为无效的表达式,这就是你得到无法识别的表达式错误的原因。

if(result.emp_presentEmployment !== undefined && result.emp_presentEmployment != ""){
    $('.prof_presentEmployed[value=' + result.emp_presentEmployment + ']').prop('checked', true).trigger("click");
}