Я пытаюсь отобразить дату прибытия товара. Я использую moment.js
для форматирования YYYY/MM/DD
строки даты в японскую локальную строку. Мой код javascript включен в файл twig
:
<script>
moment.locale('ja');
let updateArrivalDate = function() {
$('.arrival-date').each(function() {
let $this = $(this);
$selectDate = $this.next().next().find('select').eq(0);
$selectTime = $this.next().next().find('select').eq(1);
var text = $selectDate.val();
var date = moment(text, 'YYYY/MM/DD');
if (date.isValid()) {
$this.text(date.format('{{ 'YYYY年M月D日 (dd)'|raw }}'))
}
});
};
$(document).ready(function() {
updateArrivalDate();
$('select').on('change', function() {
updateArrivalDate();
});
});
</script>
Как вы можете видеть, я использовал фильтр raw
для предотвращения выхода веток из японских символов. Тем не менее, ветка в любом случае экранирует специальные символы, а текст искажается:
Конечно, это будет решено, если я переместу приведенный выше фрагмент на внешнийфайл. А если серьезно, разве нет способа остановить веточку, избегающую японских символов? Почему raw
фильтр не работает?