Следующий код работает отлично, как показано ниже, но я не могу написать его как структуру цикла. Мне нужен цикл, потому что 26, 27, 28 являются значениями переменной Smarty в файле шаблона (поэтому 26, 27, 28 необходимо заменить переменной JavaScript, определенной на основе переменной Smarty).Напишите код jQuery как структуру цикла
<script type="text/javascript">
$(document).ready(function(){
var name = "product_data";
$("#button_cart_26").click(function() {
$('input:radio[name="'+name+'"]')[0].checked = true;
});
$("#button_cart_27").click(function() {
$('input:radio[name="'+name+'"]')[1].checked = true;
});
$("#button_cart_28").click(function() {
$('input:radio[name="'+name+'"]')[2].checked = true;
});
});
</script>
Я пытался, например, что-то вроде этого:
<script type="text/javascript">
$(document).ready(function(){
var name = "product_data";
var index;
var a = [26, 27, 28];
for (index = 0; index < a.length; ++index) {
//alert("#button_cart_"+a[index]); //alert is OK
$("#button_cart_"+a[index]).click(function() {
$('input:radio[name="'+name+'"]')[index].checked = true;
});
}
});
</script>
Вы можете помочь, пожалуйста?
Я думал, что легкий ответ, но оказалось, что это был пердеть мозг. Можете ли вы рассказать нам, что именно не работает, и какие-либо сообщения об ошибках в консоли? – Connum
С примером структуры цикла я не получил тот же результат, что и с кодом «non-loop». Точнее, при нажатии кнопки HTML с id = "# button_cart_27" соответствующий переключатель не сохраняется. Ответ gaetanoM решает проблему. – Emit