summaryrefslogtreecommitdiff
path: root/js/pgconfig.js
blob: ab13187d813bd971e8848283a115aa4ecf7efd41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function sendForm(action, num)
{
    $('#pgconfig_action').val(action);
    if (num != null) {
        $('#pgconfig_num').val(num);
    }
    $('#form_pgconfig').submit();
}

function toggleTbody(item)
{
    var param_name = $(item).attr('name');
    var tagname = item.prop('tagName');
    var val = null;

    if (tagname == 'INPUT' && $(item).attr('type') == 'radio') {
        val = $(item).filter(':checked').val();
        if (val === undefined) {
            return;
        }

    } else if (tagname == 'SELECT') {
        val = $(item).children('option').filter(':selected').val();

    }

    var tbody_id_to_enable = param_name + '_' + val;

    $('tbody[id^="tb_"][id*="' + param_name + '_"]').each(function()
    {
        var tbody_id = $(this).attr('id');
        var enabled = ($('[name="' + param_name + '"]').prop('disabled') == false &&
                       tbody_id.indexOf(tbody_id_to_enable) != -1);

        $('#' + tbody_id + ' input').prop('disabled', ! enabled);
        $('#' + tbody_id + ' select').prop('disabled', ! enabled);

        $('#' + tbody_id + ' select').each(function()
        {
            toggleTbody($(this));
        });
    });
}

$(window).load(function()
{
    $('input[type="radio"], select').each(function()
    {
        toggleTbody($(this));
    });
    $('input[type="radio"], select').change(function()
    {
        toggleTbody($(this));
    });
});