设置所选选项JQuery

Set selected option JQuery

本文关键字:JQuery 选项 设置      更新时间:2023-09-26

我使用jquery-1.12.3.min.js并动态获取选择的选项

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)不起作用,你能建议我正确的方法吗?提前感谢

您正在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);
        }
    })
// ...

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

$('#companiesList').val(data.id)

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