make field readonly - checkbox - jQuery

Oli*_*sen 4 html checkbox jquery

我有这个复选框:

<input type="checkbox" name="suspended" id="s" value="<?php echo $udata['suspended']; ?>" <?php echo $suspended; ?>>
Run Code Online (Sandbox Code Playgroud)

而这个textarea:

<textarea name="suspendreason" id="sr" style="height:60px" class="field"><?php echo $udata['suspendreason']; ?></textarea>
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果取消选中 #s复选框,我怎样才能使textarea READONLY ?

cil*_*arl 10

根据您的要求,这样的事情:

$(document).ready(function(){
    if($('#s:checked').length){
        $('#sr').attr('readonly',true); // On Load, should it be read only?
    }

    $('#s').change(function(){
        if($('#s:checked').length){
            $('#sr').attr('readonly',true); //If checked - Read only
        }else{
            $('#sr').attr('readonly',false);//Not Checked - Normal
        }
    });
});
Run Code Online (Sandbox Code Playgroud)


小智 7

我建议将其设为只读和禁用.

$("#sr").attr('disabled', 'disabled');
$("#sr").attr('readonly', 'readonly');
Run Code Online (Sandbox Code Playgroud)

仅仅因为如果有人处于Carat Browsing模式,很少见,但是我有客户这样做,他们可以编辑禁用的字段.

对于复选框:

<script type="text/javascript">
    $(document).ready(function () {
        // check upon loading
        if(!$("#s").is(:checked))
        {
           $("#sr").attr('disabled', 'disabled');
           $("#sr").attr('readonly', 'readonly');
        }

        // event
        $("#s").change(function () {
           if(!$(this).is(:checked)) {
           {
              $("#sr").attr('disabled', 'disabled');
              $("#sr").attr('readonly', 'readonly');
           }
           else
           {
              $("#sr").attr('disabled', '');
              $("#sr").attr('readonly', '');
           }
         }
      });
</script>
Run Code Online (Sandbox Code Playgroud)