jQuery выбрасывает необработанную ошибку в коде smarty

У меня есть следующее сообщение об ошибке

Uncaught Error: Syntax error, unrecognized expression: [value={if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{/if}]

Который происходит из этого кода:

$('.id_state option[value={if isset($smarty.post.id_state) {$smarty.post.id_state|intval}{/if}]').prop('selected', true);

Я не уверен, почему это вызывает такую ​​ошибку, так как код, следующий за ним (буквально следующая строка) работает как шарм

Следующий код работает нормально

$('.id_state_invoice option[value={if isset($smarty.post.id_state_invoice)}{$smarty.post.id_state_invoice|intval}{/if}]').prop('selected', true);

2 ответа

Решение

Ваш код:

{if isset($smarty.post.id_state) {$smarty.post.id_state|intval}{/if}

должно быть:

{if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{/if}

Вы пропускаете закрывающее} после isset().

Другие вопросы по тегам