如果在openerp 7中使用css使字段不为空,如何使字段只读?

时间:2017-07-27 06:35:09

标签: css xml openerp

如果在没有使用attrs命令的情况下在openerp 7中有值,我想让所有字段只读。如果我使用attrs,我需要在所有领域定义。

.openerp .oe_form .oe_form_field_char input,
.openerp .oe_form .oe_form_field_url input,
.openerp .oe_form .oe_form_field_email input,
.openerp .oe_form .oe_form_field_text textarea,
.openerp .oe_form .oe_form_field_selection select {
  width: 10%;
}

这是用于定义所有字段宽度的css代码。我想使用这种方法来实现我的要求。

1 个答案:

答案 0 :(得分:0)

纯css没办法,你必须帮助jquery:

$(document).ready(function(){
    $('input[type=text],textarea').each(function(){
       if($(this).val().length > 0)
        $(this).attr('readonly','readonly');
    })

    $('select').each(function(){
       if($(this).val().length > 0)
        $(this).attr('disabled','disabled');
    })
})

$(document).ready(function(){
    $('input[type=text],textarea').each(function(){
       if($(this).val().length > 0)
        $(this).attr('readonly','readonly');
    })

    $('select').each(function(){
       if($(this).val().length > 0)
        $(this).attr('disabled','disabled');
    })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Text: <input type="text">
Textarea:<textarea></textarea>
Select:
<select>
   <option></option>
    <option>Ehsan</option>
    <option>Taghdisi</option>
</select>
<br><br><br>
Text: <input type="text" value="Some Text...">
Textarea:<textarea>Some Text...</textarea>
Select:
<select>
    <option>Some Text...</option>
    <option>Taghdisi</option>
</select>