小豆在字段选择中隐藏一些选项 - javascript

我的模型中有一些选择字段。这里的例子:

class MyModel(models.Model):
    _name = 'my_app.my_model'

    example_selection = fields.Selection(
        [
             ('first', 'First'),
             ('second', 'Second'),
             # etc.
        ], 
        string='My selection', 
    )

在某些情况下,我需要在选择(或单选按钮)中隐藏特定选项。我怎样才能正确地做到这一点?

基本日历模块的屏幕下方,可以进一步说明我的问题。

小豆在字段选择中隐藏一些选项 - javascript

提前致谢。

参考方案

我找到了解决方案。

首先,我们需要为FieldSelection创建自定义窗口小部件。这是示例(path_to_your_module / static / src / js / form_widgets.js):

odoo.define('your_module.form_widgets', function (require) {
"use strict";

var core = require('web.core');
var FieldSelection = core.form_widget_registry.get('selection');

var MySelection = FieldSelection.extend({
    // add events to base events of FieldSelection
    events: _.defaults({
        // we will change of visibility on focus of field
        'focus select': 'onFocus'
    }, FieldSelection.prototype.events),
    onFocus: function() {
      if (
          // check values of fields. for example I need to check many fields
          this.field_manager.fields.name_field_1.get_value() == 'value1' &&
          this.field_manager.fields.name_field_2.get_value() == 'value2' /* && etc fields...*/   
      ) {
          // for example just hide all options. You can create any kind of logic here
          this.$el.find('option').hide();
      } 
    }
});

// register your widget
core.form_widget_registry.add('your_selection', MySelection);
});

之后,您只需将小部件设置为视图中的字段,如下所示:

<field name="example_selection" widget="your_selection"/>

如果您不知道如何包含模块的静态信息。

我希望这可以帮助别人 ;)

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

Javascript vs python:具有两个递归分支的函数的不同输出 - javascript

我一直在将python代码毫无问题地翻译成javascript,但对于以下示例,我却没有这样做,也不知道是什么原因。尽管有相似的代码,但是javascript代码似乎产生了与python完全不同的输出。我已经研究了这个问题,并且似乎javascript无法执行第二个递归分支?谁知道我该如何使javascript代码输出与python相似的代码?谢谢1- Py…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

Javascript + Python:将数组发送到Python脚本,将结果返回给Javascript - javascript

我想建立一个网页,该网页通过Javascript API进行许多Facebook状态更新,并将它们分类到一个数组中。然后,我想将此数组发送到Python脚本,该脚本可以专门使用NLTK.进行语言分析。在Python中获得合适的结果后,我想将结果从该脚本返回到Javascript,以显示给用户等。听起来可能吗? javascript大神给出的解决方案 是的,完…

将第三方网站的POST表单数据发送到Django - javascript

我正在托管一个Django网站,该网站存储有关用户的信息。但是,我想在第三方网站上托管表格,例如订阅电子报。我希望能够从URL中的查询集中获取信息并将其发布回我的Django网站。我有一个小脚本,可抓取queryset信息并将其放入表单上的隐藏字段中,然后发布该数据。但是,目前这是在我的网站上完成的。如果我要在其他人的网站上托管该表格,那么最好的处理方式是什…