Magento 2在component.exted之后运行代码

时间:2019-05-20 16:29:53

标签: jquery datepicker magento2

我想向带有日期选择器的结帐页面添加一个字段。为此,我在以下位置有一个模板:

app/code/Vendor/Module/view/frontend/web/template/checkout/attributes-form-content.html

带有输入标签:

                <input
                    type="text"
                    id="delivery"
                    class="input-text order-comment order-comment-input"
                    name="delivery-code"
                    placeholder="Enter expected delivery date"
                    />

呈现后,我需要在输入代码上运行javascript函数:

  $(#delivery).datepicker();

由于输入标签位于javascript本身呈现的模板中,因此无法将标签添加到模板中,因为它只是被忽略了。如何制作这个输入标签jaueryUI datepicker?

我正在处理的代码中包含一个javascript文件:

app/code/Vendor/Module/view/frontend/web/js/view/checkout/order-attributes-block.js

具有:

return Component.extend({
            defaults: {
                template: 'Vendor_Module/checkout/order-attributes-block'
            },
            initialize: function() {
                this._super();
                var self = this;
                this.csn = ko.observable("").extend({maxOrderCsnLength: this.getMaxLength()});

                this.remainingCharacters = ko.computed(function(){
                    return self.getMaxLength() - self.csn().length;
                });

            },

我尝试将代码放入初始化函数中,但是当然这并不容易,并且没有用。该代码将执行,但是在呈现模板之前。因此,无法对呈现的html中的任何元素进行任何更改。有什么想法如何在magento 2结帐页面中显示日期选择器吗?

0 个答案:

没有答案