Tôi đang cố gắng làm một số javascript với thông minh và sử dụng biến javascript và kiểm tra xem giá trị có được chứa trong một mảng thông minh hay không.Biến Javascript và thông minh
Dưới đây là đoạn code mà tôi có
if (object.data[i].Application === selectedApplication || {if isset($Applications) && $Applications|@count > 0} true {else} false {/if})
{
{if not isset($Applications)}
$("#cboApplications").append("<option selected value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{else}
{if '9'|in_array:$Applications}
console.log("id " + id + " in array");
$("#cboApplications").append("<option selected value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{else}
console.log("id " + id + " not in array");
$("#cboApplications").append("<option value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{/if}
{/if}
}
Vấn đề tôi đang gặp khó với là {if '9'|in_array:$Applications}
. Tại thời điểm này tôi đã hardcoded giá trị thay vì sử dụng biến javascript như là một thử nghiệm nhưng tôi nhận được kết quả tương tự.
Dưới đây là những gì các mảng trông giống như khi in ra từ bên trong smarty
array (
0 => '9',
)
Có nhiều giá trị trong hộp danh sách này cboApplications
trong đó có một giá trị 8, 5, 6, 9 và 10
Vì một lý do nào đó, mặc dù chỉ có 9 trong mảng $ Applications, console.log hoạt động như thể mọi mục đơn nằm trong mảng, không chỉ là 9.
Cảm ơn bạn đã giúp đỡ.
này đã được cải thiện trong Smarty 3 miễn là dấu ngoặc nhọn phi Smarty được bao quanh bởi không gian màu trắng: http://www.smarty.net/docs/en/language.function.literal.tpl –
@ JohnMcMahon: Xin lỗi, đã nhận được URL sai từ Google :-D Đã chỉnh sửa bài đăng của tôi. – Richard
Điều này rất có thể là vấn đề của anh ta nếu anh ấy sử dụng Smarty 2. –