Ich benutze Magento 2.1.0, ich bin neu bei Magento, so dass ich nicht in der Lage bin, das eigentliche Ergebnis zu erhalten.onchange Ereignis in Magento 2
ich diesen Block erstellt haben:
public function serviceArea() {
return $this->getArea1('2');
}
public function getArea1($city_id) {
return $this->areaModel->getCollection()->addFieldToFilter('city_id',$city_id);
}
und ich so nenne:
$areaCollection = $block->getLayout()->createBlock('XXXX\Vac \Block\Vac')->serviceArea();
print_r($areaCollection->getData());
Ich erhalte eine Ausgabe wie folgt aus:
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))
jetzt, ich will diese Wenn ich meine Stadt im Dropdown-Menü ändere, ändert sich mein Bereich entsprechend.
dafür. Ich schreibe Skript:
<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>
in Skript, gab ich die URL meines Controllers. aber ich weiß nicht, was ich dort machen soll, oder ich muss das Skript ändern. bitte hilfe.
Sie müssen die richtige Antwort vom Controller setzen und basierend auf dieser Antwort müssen Sie in Success Action von Jquery Code eingeben, um diese Dinge im Dropdown anzuzeigen. –
@sam: Hast du die Antwort? –
@MujeebuRahman: Ja, mujeebu, ich habe die Antwort, einfach die Ausführungsfunktion im Controller zu schreiben, indem Sie die Schleife verwenden – sam