Очистка и сброс параметра выбора до значения по умолчанию не работает в Jquery - PullRequest
0 голосов
/ 09 мая 2018

Я заполняю свой второй dropdownlist на основе первого. Поэтому, когда я устанавливаю свой первый раскрывающийся список на --Select--, он не сбрасывает мой второй раскрывающийся список на значения, которые я устанавливаю, а также не очищает значения.

Вот мой код.

function FillStateHeadDetails() {

    var selectedVal = $('#ddlZonalHeadNameAdd').val();

    try {
        $.ajax({
            url: "GET_DATA_BY_STORE.aspx/GetStateHeadDetails",
            dataType: "json",
            type: "POST",
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({ selectedVal: selectedVal }),
            async: true,
            processData: false,
            cache: false,
            success: function (response) {

                var retrievedParsedValue = JSON.parse(response.d);

                if (selectedVal == 0) {
                    $('#txtZonalHeadNoAdd').val('');
                   $("#ddlSLPStateHeadAdd").val('');       // clearing here             
                    zonalECNumber = "";
                }
                else {

                    for (var i = 0; i < retrievedParsedValue.Table.length; i++) {
                        $('#txtZonalHeadNoAdd').val(retrievedParsedValue.Table[0]["ZONAL_MOB_NUM"]);
                        zonalECNumber = retrievedParsedValue.Table[0]["ZONAL_EC_NUM"];
                    }

                    var slpStateHead = $("#ddlSLPStateHeadAdd"), options = '';
                    slpStateHead.empty();

                    options += "<option value='0'>--Select--</option>";

                    for (var j = 0; j < retrievedParsedValue.Table1.length; j++) {
                        options += "<option value='" + retrievedParsedValue.Table1[j]["ZONE_ID"] + "'>" + retrievedParsedValue.Table1[j]["STATE_HEAD_NAME"] + "</option>";
                    }
                    slpStateHead.append(options);
                }
            },
            error: function (xhr) {
                alert('Cannot fill the SLP State Head Contact and Emaild ID details now');
            }
        })
    } catch (e) {
    }
}
1st dropdownlist

<select id="ddlZonalHeadNameAdd" runat="server" class="form-control" onchange="return FillStateHeadDetails()"></select>

2nd dropdownlist

 <select id="ddlSLPStateHeadAdd" class="form-control"> 
                                    </select>

1 Ответ

0 голосов
/ 09 мая 2018

Добавьте простое if условие: -

function FillStateHeadDetails() {

    var selectedVal = $('#ddlZonalHeadNameAdd').val();

    if(selectedVal == ''){ // i assume first option value is empty

      $("#ddlSLPStateHeadAdd").html('<option value="">--Select--</option>');

    }else{

      //your try-catch code will come here

    }
}

Если вы хотите сравнить с текстом, то: -

function FillStateHeadDetails() {

    var selectedVal = $('#ddlZonalHeadNameAdd').val();

    if($('#ddlZonalHeadNameAdd').text() == '--Select--'){

      $("#ddlSLPStateHeadAdd").html('<option value="">--Select--</option>');

    }else{

      //your try-catch code will come here

    }
}
...