как реализовать oncheck событие td в представлении one2many списка - PullRequest
0 голосов
/ 24 марта 2020

Я добавил флажок в мой просмотр списка полей one2many (с помощью модуля web_one2many_selectable_10 ). Я хочу получить каждый идентификатор выбранной строки в моем поле one2many при проверке флажка вместо щелчка "" Кнопка «Создать DR»

one2many checkbox

возможно ли иметь событие onchange на флажке в моей таблице one2many?

вот код javascript

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

    var core = require('web.core');
    var form_common = require('web.form_common');
    var _t = core._t;
    var QWeb = core.qweb;
    var Model = require('web.Model');
    var FieldOne2Many = core.form_widget_registry.get('one2many');


    var One2ManySelectable = FieldOne2Many.extend({
        // my custom template for unique char field
        template: 'One2ManySelectable', 

        multi_selection: true,
        //button click
        events: {
            "click td.o_list_record_selector": "get_id_lines",
        },
        start: function() 
        {
            this._super.apply(this, arguments);
            var self=this;          
           },
        get_id_lines: function(e){
            var self=this;
            console.log('im here')

        },
        //collecting the selected IDS from one2manay list
        get_selected_ids_one2many: function ()
        {
            var ids =[];
            this.$el.find('td.o_list_record_selector input:checked')
                    .closest('tr').each(function () {

                        ids.push(parseInt($(this).context.dataset.id));
                        console.log(ids);
            });
            return ids;
        },


    });
    // register unique widget, because Odoo does not know anything about it
    //you can use <field name="One2many_ids" widget="x2many_selectable"> for call this widget
    core.form_widget_registry.add('one2many_selectable', One2ManySelectable);
});

Когда я изменяю код

events: {
            "click td.o_list_record_selector": "get_id_lines",
        },

на

events: {
            "click th.o_list_record_selector": "get_id_lines",
        },

, он работает нормально, но когда я также проверяю флажок в td таблицы, он не будет вызывать функция get_id_lines работает только тогда, когда я отмечаю флажок в thead части таблицы

...