jQuery:IE только, input:checked возвращается 0, даже когда объекты выбрали

Я вижу ошибку, которую я не могу копировать от небольшого подмножества пользователей. Вот код:

var selected = $('#mytable input:checked');
if (selected.length == 0) {
    $('body').trigger('notice', 'Please select some items first');
    return;
}

Даже когда пользователь проверяет несколько флажков, триггеры "уведомления". Кажется, что selected.length является нулем, когда это не должно быть.


[ОБНОВЛЕНИЕ] селектор работает, когда это обновляется к:

var selected = $('input[class="selection"]:checked');

Это кажется включая идентификатор в селекторных вещах повреждений, только на IE.


Этот код работает на подавляющее большинство пользователей, и мы не можем копировать проблему, но для пользователей, которые видят проблему, это последовательно и происходит каждый раз.

Это, кажется, изолируется к IE (хотя я не могу быть уверен). Мы используем jQuery 1.3.2 (от google CDN).

Какие-либо идеи?

8
задан Parand 8 February 2010 в 16:28
поделиться

1 ответ

Было бы Рекомендуется вставить окружающий код / ​​обработчик событий. В качестве отправной точки я бы предложил использовать селектор : checkbox в вашей первой строке:

$('#mytable input:checkbox:checked')

В руководстве говорится:

$ (': checkbox') эквивалентно $ ('*: checkbox') , поэтому $ ('input: checkbox') Вместо этого следует использовать .

Конечно, это может не иметь никакого значения. : флажок эквивалентен t на $ ('[type = checkbox]') , так что может то, что IE задыхается от ввода : проверил часть вашего селектора, которая является тестирование всех входных элементов для состояния проверено .

2
ответ дан 6 December 2019 в 00:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: