给jquery选择器指定一个smarty变量

Assign a smarty variable to jquery selector

本文关键字:一个 smarty 变量 jquery 选择器      更新时间:2023-09-26

我使用下面的代码分配一个smarty变量到jquery选择器

{literal}
    <script type="text/javascript">
        $( document ).ready(function() {
            var prodid = {/literal}{$product.product_id}{literal};
            $( "#option_" + prodid + "_1252" ).change(function() {
                if(4281 == $(this).val()){       
                    //some code    
                }
            });    
        });
    </script>
{/literal}

我可能犯了一些语法错误因为即使我写对了

var prodid = 766;

在选择器中我得到了这个

$( "#option_" + prodid + "_1252" ).change(function() {

而不是

$( "#option_766_1252" ).change(function() {

有什么想法我做错了吗?

在jquery选择器中有一个不必要的var声明。试试这个:

$( "#option_" + prodid + "_1252" ).change(function() {

Smarty不会为你解析javascript所以你不会得到$( "#option_766_1252" ),除非你这样做

$( "#option_{/literal}{$product.product_id}{literal}_1252" ).change(function() {