magento 2中的onchange事件

时间:2017-01-17 06:59:54

标签: php jquery magento magento2

我正在使用magento 2.1.0,我是magento的新手,所以我无法获得实际结果。

我创建了这个块:

public function serviceArea() { 
    return $this->getArea1('2');
}

public function getArea1($city_id) {
    return $this->areaModel->getCollection()->addFieldToFilter('city_id',$city_id);

}

我打电话是这样的:

$areaCollection = $block->getLayout()->createBlock('XXXX\Vac   \Block\Vac')->serviceArea();
print_r($areaCollection->getData());

我得到这样的输出:

Array ( [0] => Array ( [area_id] => 1 [area] => banashankari [city_id] => 2 ) [1] => Array ( [area_id] => 2 [area] => madiwala [city_id] => 2 ) [2] => Array ( [area_id] => 3 [area] => btm layout [city_id] => 2 ) ) 

现在,我希望将其用于我的onchange过程,就像我在下拉列表中更改城市一样,我的区域也会相应改变。

为此。我写剧本:

<script>
    require(['jquery'], function(jQuery) {
        jQuery('#city').on('change', function () {
            jQuery.ajax({
                url: "<?php echo $this->getBaseUrl('*/*/*', ['_current' => true, '_use_rewrite' => true]).'Vac/area/index/'; ?>",
                // url: "getAjaxUrl()",
                data: {city_id: jQuery("#city").val()},
                type: "POST",
                success: function(data) {
                    jQuery('#area').html(data['html']);
                }
            });
        });
    });
</script>
在脚本中,我给了控制器的url。但我不知道该怎么做,或者我必须修改脚本。请帮忙。

1 个答案:

答案 0 :(得分:0)

检查您的送货延期中是否存在以下所有文件。

view/
└── frontend
    ├── layout
    │   ├── checkout_cart_index.xml
    │   └── checkout_index_index.xml
    └── web
        └── js
            ├── model
            │   ├── shipping-rates-validation-rules.js
            │   └── shipping-rates-validator.js
            └── view
                └── shipping-rates-validation.js