0
私はmagento 2.1.0を使用しています。私はmagentoを初めて使用していますので、実際の結果を得ることはできません。onchangeイベント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>
スクリプトで、私は私のコントローラのURLを与えた。私はそこで何をすべきかわからない、またはスクリプトを修正する必要があります。助けてください。
コントローラから適切な応答を設定する必要があり、そのレスポンスに基づいて、Jqueryのアクションでドロップダウンに表示するコードを実行する必要があります。 –
@サム:答えはありますか? –
@MujeebuRahman:はいmujeebu、私は答えを持って、ちょうどループを使用してコントローラの実行機能を記述する必要があります – sam