如何合并启用/禁用字段的多个jQuery函数?

时间:2017-05-23 15:49:50

标签: javascript jquery switch-statement

我有这些jQuery函数,我想将它们放入一个函数中,而不是像我拥有它们那样将它们分开。基本上,当我从下拉列表中选择一个选项时,我想启用/禁用进一步的选择。我该怎么做?

        //To disable "Your Center" Drop Down if "Customer Care Center" is not chosen.
    $('select[name="YourLocation"]').change(function () {

        if ($(this).val() === 'Customer Care Center') {
            $('[name="YourCenter"]').prop("disabled", false);
        }
        else {
            $('[name="YourCenter"]').prop("disabled", true);
        }
    });

    //To disable "BranchNumber, RegionNumber, & DivisionNumber" if "Branch" is not chosen.
    $('select[name="YourLocation"]').change(function () {

        if ($(this).val() === 'Branch') {
            $('[name="BranchNumber"]').prop("disabled", false);
            $('[name="RegionNumber"]').prop("disabled", false);
            $('[name="DivisionNumber"]').prop("disabled", false);
        }
        else {
            $('[name="BranchNumber"]').prop("disabled", true);
            $('[name="RegionNumber"]').prop("disabled", true);
            $('[name="DivisionNumber"]').prop("disabled", true);
        }
    });

    //To disable "RegionNumber & DivisionNumber" if "Region" is not chosen.
    $('select[name="YourLocation"]').change(function () {

        if ($(this).val() === 'Region') {
            $('[name="RegionNumber"]').prop("disabled", false);
            $('[name="DivisionNumber"]').prop("disabled", false);
        }
        else {
            $('[name="BranchNumber"]').prop("disabled", true);
            $('[name="RegionNumber"]').prop("disabled", true);
            $('[name="DivisionNumber"]').prop("disabled", true);
        }
    });

    //To disable "DivisionNumber" if "Division" is not chosen.
    $('select[name="YourLocation"]').change(function () {

        if ($(this).val() === 'Division') {
            $('[name="DivisionNumber"]').prop("disabled", false);
        }
        else {
            $('[name="BranchNumber"]').prop("disabled", true);
            $('[name="RegionNumber"]').prop("disabled", true);
            $('[name="DivisionNumber"]').prop("disabled", true);
        }
    });

1 个答案:

答案 0 :(得分:1)

$('select[name="YourLocation"]').change(function () {
    $('[name="YourCenter"]').prop("disabled", $(this).val() != 'Customer Care Center')
    $('[name="DivisionNumber"]').prop("disabled", $(this).val() == 'Customer Care Center');
    $('[name="RegionNumber"]').prop("disabled", $(this).val() == 'Customer Care Center' || $(this).val() == 'Division');
    $('[name="BranchNumber"]').prop("disabled", $(this).val() != 'Branch');
})