JQuery. Каждый не работает в IE - PullRequest
2 голосов
/ 25 мая 2011

У меня есть список флажков

<input type="checkbox" name="box1" id="box1" value="x1">X1
<input type="checkbox" name="box1" id="box1" value="x2">X2
<input type="checkbox" name="box1" id="box1" value="x3">X3

Имя флажка и количество флажков являются динамическими.

Чтобы получить значения выбранного флажка, я использую функцию как

var urls = "";
var values = "";
var fldname = "box"+i;
$('#'+fldname+':checked').each(function() {
values += $(this).val() +"|";
});

Скажем, я выбрал X1 и X3, тогда в Mozilla значение "values" равно

X1 | X3

В то время как в IE это просто X1.

Пожалуйста, помогите.

1 Ответ

6 голосов
/ 25 мая 2011

Я не знаю, как ваш код работал в Mozilla, потому что ваш синтаксис неправильный.

Вы дали все имена своих флажков, но запрашиваете их, используя идентификаторы

Вам нужно что-то вроде

$('[name="' + fldname  + '"]:checked');

Это в основном ищет элементы с заданным именем,Вы можете сделать его более конкретным

$('input[name="' + fldname  + '"]:checkbox:checked');

Вот пример, который не использует вашу итерацию: http://jsbin.com/ikifi5

...