如何在单击辅助按钮(例如按钮2)时禁用按钮(例如button1)?

时间:2017-07-17 14:10:31

标签: javascript odoo-9 odoo-10

如何在odoo10中使用javascript点击标题中的anothor按钮(比如button2)时禁用按钮(比如button1)?

3 个答案:

答案 0 :(得分:0)

<强> HTML

        <button class="button buttonOne">Button One</button>
        <button class="button buttonTwo">Button Two</button>

<强>的JavaScript

            var btns = document.querySelectorAll('button');

            for (var i = 0; btns.length > i; i++) {
                btns[i].addEventListener('click', function(evt) {
                    disableElements(evt.target);
                });
            }

            function disableElements(activeEl) {
                var els = document.querySelectorAll('button');
                var target = activeEl;

                for (var i = 0; els.length > i; i++) {
                    if (els[i] !== target) {
                        els[i].setAttribute('disabled', true);
                    }
                }
            }

答案 1 :(得分:0)

尝试以下步骤:

  1. flag=True*.py中定义字段*.xml
  2. set_flag中定义函数*.py
  3. set_flag设置flagFalse
  4. xml中,给出一个隐藏按钮的条件。
  5. 示例:

    <强> PY

    flag = fields.Boolean('flag', default=True)
    
    @api.multi
    def set_flag(self):
        self.flag=False
    

    <强> *。XML

     <button class="button buttonOne" name="set_falg"/>
     <button class="button buttonTwo" attrs="{'invisible':[('flag','=',False)]}"/>
     <field name="flag" invisble="1"/>
    

    希望它会对你有所帮助。

答案 2 :(得分:0)

我只需保留一个切换字段(布尔值),当单击按钮2时,其值更改为False。现在我可以在按钮1上设置一个属性,如果switch的值为False,则使其成为只读状态。

以下是代码:

<强>的Python

switch= fields.Boolean(default=True)

def change_status(self):
    self.switch= False

XML

 <field name="switch" invisible="1"/>
 <button string='Button1' attrs="{'readonly':[('switch','=',False)]}">Button One</button>
 <button string='Button2' name="change_status">Button Two</button>

此处, name =“change_status”是指向更改交换机状态的python函数的链接。

P.S:为了使其正常工作,请在使用其属性值设置只读状态之前添加不可见字段(此处为'switch')。