Я использую magento 2.1.0, я новичок в magento, поэтому я не могу получить фактический результат.onchange event in magento 2
Я создал этот блок:
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))
сейчас, я хочу это для моего процесса обмена, например, когда я меняю город в выпадающем списке, меня изменяет соответственно моя область.
для этого. Я пишу сценарий:
<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>
В скрипте я указал адрес своего контроллера. но я не знаю, что делать там, или мне нужно изменить сценарий. пожалуйста помоги.
Вам необходимо установить правильный ответ с контроллера и на основе этого ответа, вам нужно сделать код в действии JQuery, чтобы отобразить это в раскрывающемся списке. –
@sam: У вас есть ответ? –
@MujeebuRahman: да mujeebu, я получил ответ, просто нужно написать функцию execute в контроллере, используя цикл – sam