Возможно, проблема в том, что вы пытаетесь использовать конструкцию for-in для итерации по числовому массиву. Это часто не дает ожидаемых результатов. Вместо этого используйте инкрементный цикл for:
var brands = document.getElementsByName("brand");
// Use an incremental for loop to iterate an array
for(var i=0; i<brands.length; i++){
$("input[name='brand']").eq(brands[i]).click(function(){
alert("hello22");
loadDataFN(1);
});
}
Тем не менее,
после просмотра первой части вашего кода цикл кажется ненужным. Вам нужно только следующее, поскольку вы назначаете одну и ту же функцию всем входам бренда.
// These will return the same list of elements (as long as you don't have non-input elements named brand)
// though the jQuery version will return them as jQuery objects
// rather than plain DOM nodes
var brands = document.getElementsByName("brand");
$("input[name='brand']");
Следовательно, getElementsByName()
и цикл не обязательны.
$("input[name='brand']").click(function() {
alert("hello22");
loadDataFN(1);
});
for-in
циклы используются для итерации по свойствам объекта, а не по элементам массива.