根据其他下拉选项启用下拉框

时间:2017-08-15 11:04:55

标签: php jquery codeigniter drop-down-menu

我有两个下拉框,一个用于角色,一个用于合作伙伴类型,如果角色等于合作伙伴我想启用合作伙伴类型的下拉列表。我正在使用Codeigniter和JQuery。这是我的代码,但它无法正常工作,当我更改第一个下拉列表时,第二个下拉列表保持禁用状态。我的代码可能有问题。

<div class="form-group">
    <label>Role</label>
    <?php
        $role_id = array(
            'value'     => set_value('role_id'),
        );
        $role_options = array(
            '9'          => 'Super-Admin',
            '10'         => 'Admin',
            '11'         => 'Partner',
            '12'         => 'Reporting',
        );
        $role_ids_name = array(
            'name'      => 'role_id',
            'id'        => 'role_id',
            'class'     => 'form-control',
        );
    echo form_dropdown('role_id', $role_options, set_value('role_id', $role_id), array('id' => 'role_id', 'class' => 'form-control','onchange'=>'enabletype($(this));')); ?>
</div>
<script type="text/javascript">
function enabletype(obj)
{
    var selectedText = obj.children(':selected').text();
    if(selectedText == 'Partner');
    {
        //enable partner type
        $('type_id').attr('disabled',false);

    }
    else
    {
        //disable partner type
        $('type_id').attr('disabled',true);


    }
}
</script>

<div class="form-group">
    <label>Partner Type</label>
    <?php
        $type_id = array(
            'value'     => set_value('type_id'),

        );
        $type_options = array(
            '3'         => 'Photographer',
            '4'         => 'House Sitter',
            '6'         => 'Banker',
            '7'         => 'Lawyer',
            '8'         => 'Insurance Agent',
        );

        $type_id_name = array(
            'name'      => 'type_id',
            'id'        => 'type_id',
            'class'     => 'form-control',
            'disabled'  => 'disabled',

        );
    echo form_dropdown('type_id', $type_options, set_value('type_id', $type_id), $type_id_name); ?>
</div>

1 个答案:

答案 0 :(得分:1)

我刚刚解决了这个问题,这是我的代码:

<script>
      $("#role_id").on("change", function(){
        var selected = $(this).val();
        if(selected == 11)

        {
            $('#type_id').attr('disabled',false);

        }
        else
        {
            $('#type_id').attr('disabled',true);
        }

      })
</script>