简体   繁体   中英

Save value in dropdown using javascript

I want to set default values in nested dropdowns of Country > State > City > Zone @ the time of form editing. All data are filled in all dropdowns but the value is not set.

I have used select2 dropdown and filling data using jquery ajax in asp.net form.

=======================================================================

function Edit()
{
 $(response.d).find("tblInvoice").each(function () {
    selCountryId = $(this).find("intCountryId").text();
    $("#select2-selCountry-container").text($(this).find("strCountryName").text());
    $('#selCountry').trigger('change');

    selStateId = $(this).find("intStateId").text();
    $('#selState').trigger('change');
    $("#select2-selState-container").text($(this).find("strStateName").text());

    selCityId = $(this).find("intCityId").text();
    $('#selCity').trigger('change');
    $("#select2-selCity-container").text($(this).find("strCityName").text());
}

=======================================================================

function getCountry() {
    $.ajax({
        type: "POST",
        url: "Country.aspx/GetCountry",
        data: JSON.stringify({}),
        contentType: "application/json; charset=utf-8",
        dataType: "JSON",
        success: function (response) {

            var name = "#selCountry";
            var ddl = $(name);
            var Col_Key = "intCountryID";
            var Col_val = "strCountryName";

            ddl.find('option').remove();
            $(response.d).find("tblCountry").each(function () {
                var OptionValue = $(this).find(Col_Key).text();
                var OptionText = $(this).find(Col_val).text();
                var option = $("<option>" + OptionText + "</option>");
                option.attr("value", OptionValue);
                ddl.append(option);
            });
            $(ddl).val('0');
        },
        failure: function (response) {
        }

    });
});
}

=======================================================================

function getState() {
    $.ajax({
        type: "POST",
        url: "State.aspx/GetState",
        data: JSON.stringify({
            COUNTRYID: countryid,
            ACTION: Action
        }),
        contentType: "application/json; charset=utf-8",
        dataType: "JSON",
        success: function (response) {
            var name = "#selState";
            var ddl = $(name);
            var Col_Key = "intStateID";
            var Col_val = "strStateName";

            ddl.find('option').remove();
            $(response.d).find("tblState").each(function () {
                var OptionValue = $(this).find(Col_Key).text();
                var OptionText = $(this).find(Col_val).text();
                var option = $("<option>" + OptionText + "</option>");
                option.attr("value", OptionValue);
                ddl.append(option);
            });
            $(ddl).val('0');
        },
        failure: function (response) {
        }
    });
}

=======================================================================

function getCity() {
    $.ajax({
        type: "POST",
        url: "City.aspx/GetCity",
        data: JSON.stringify({
            STATEID: countryid,
            ACTION: Action
        }),
        contentType: "application/json; charset=utf-8",
        dataType: "JSON",
        success: function (response) {
            var name = "#selCity";
            var ddl = $(name);
            var Col_Key = "intCityID";
            var Col_val = "strCityName";

            ddl.find('option').remove();
            $(response.d).find("tblCity").each(function () {
                var OptionValue = $(this).find(Col_Key).text();
                var OptionText = $(this).find(Col_val).text();
                var option = $("<option>" + OptionText + "</option>");
                option.attr("value", OptionValue);
                ddl.append(option);
            });
            $(ddl).val('0');
        },
        failure: function (response) {
        }
    });
}

=======================================================================

function Edit()
{
var intddlCountry = '0', strddlCountry = '0', intddlState = '0', strddlState = '0', intddlCity = '0', strddlCity = '0';

$(response.d).find("tblInvoice").each(function () {

intddlCountry = $(this).find("intCountryId").text();
strddlCountry = $(this).find("strCountryName").text();
intddlState = $(this).find("intStateID").text();
strddlState = $(this).find("intState").text();
intddlCity = $(this).find("intCityID").text();
strddlCity = $(this).find("strCityName").text();

$.ajax({
    url: getCountry(),
    async: true,
    success: function (response) {
        $("#selCountry").val(intddlCountry);
        $("#select2-selCountry-container").text(strddlCountry);

        $.ajax({
            url: GetState(),
            async: true,
            success: function (response) {
                $("#selState").val(intddlState);
                $("#select2-selState-container").text(strddlState);

                $.ajax({
                    url: getCity(),
                    success: function (response) {
                        $("#selCity").val(intddlCity);
                        $("#select2-selCity-container").text(strddlCity);
                    }
                });
            }
        });
    }
});  
});      
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM