我使用以下代码将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() {
关于我做错的任何想法?
答案 0 :(得分:1)
您的jquery选择器中有一个不必要的var声明。试试这个:
$( "#option_" + prodid + "_1252" ).change(function() {
Smarty不会为您解析javascript,因此除非您这样做,否则无法获得$( "#option_766_1252" )
$( "#option_{/literal}{$product.product_id}{literal}_1252" ).change(function() {