设置选定的选项JQuery

时间:2016-05-06 12:32:31

标签: javascript jquery html ajax

我正在使用jquery-1.12.3.min.js并动态获取select

的选项
function loadCompanies() {
if ($("#isSubsidiaryCompany").is(":checked")) {
    $.ajax({
        type : "GET",
        url : "get_companies",
        success : function(data) {
            $.each(data, function(i, data) {
                $('#companiesList').append($('<option>', {
                    value : data.id,
                    text : data.name
                }));
            });
        }

    })
    $("#companiesSelect").show();
    $('#companiesList').val(data.id);
} else {
    $("#companiesSelect").hide();
}

我想设置选项,但$('#companiesList').val(data.id)不起作用,你能否建议我做到这一点的正确方法,提前谢谢

2 个答案:

答案 0 :(得分:4)

您正在设置AJAX回调函数之外的值。这意味着这些选项无法保证它们会存在。将代码放入成功回调中:

if ($("#isSubsidiaryCompany").is(":checked")) {
    $.ajax({
        type : "GET",
        url : "get_companies",
        success : function(data) {
            $.each(data, function(i, data) {
                $('#companiesList').append($('<option>', {
                    value : data.id,
                    text : data.name
                }));
            });
            $("#companiesSelect").show();               // < === HERE ===
            $('#companiesList').val(data.id);
        }

    })
// ...

另外,您在data中指的是哪个.val(data.id)

答案 1 :(得分:0)

$(&#39;#companiesList&#39)。VAL(data.id)

我认为您的数据对象存在问题。请确保data.id shoudl包含一些内容。