jQuery 1.9.1 $(' #idCheckbox:选中')IE7和IE8错误

时间:2013-05-16 15:38:08

标签: javascript jquery

我正在使用jQuery 1.9.1,我在IE9,Firefox和Chrome中使用此代码。问题是我在IE7和IE8中也需要它,但是不起作用。

我有一个使用id="selec"name="selec"的输入复选框 用户可以选择许多复选框,然后将它们传递给javascript函数。 IE7和IE8控制台没有显示任何错误,只是不起作用。

我一直在寻找许多解决方案,但没有人适合我。我认为问题在于:

$('#selec:checked').each(function()...

因为此行收集选定的选项,然后将它们推送到名为"selectedItems"

的数组中

这是我的javascript函数:

function enviaMailNominaFiltrada() {
    $(document).ready(function () {
        var selectedItems = new Array();

        $('#selec:checked').each(function () {
            selectedItems.push($(this).val());
        });

        var seleccionados = '<cfoutput>#todosSeleccionados#</cfoutput>' + ',' + selectedItems;
        var selecLargo = seleccionados.length;

        if (seleccionados.substring(selecLargo - 1) == ',') {
            var selecFiltrado = seleccionados.substring(0, seleccionados.length - 1);
        }
        else {
            var selecFiltrado = seleccionados;
        }

        if (selectedItems != '' || selecFiltrado != '0') {
            var info = "selectedItems=" + selectedItems;
            document.getElementById('lista2').value = selecFiltrado;
            document.enviarMail.action = 'enviarpostulantes.cfm';
            document.enviarMail.submit();
        }
        else {
            alert('Debe seleccionar al menos un registro para enviar nómina');
        }
    });
}

1 个答案:

答案 0 :(得分:1)

这一行:

$('#selec:checked').each(function () { 

向我表明您使用具有相同ID(selec)的多个DOM元素 - 这将是您遇到问题的原因。

如果DOM元素指定了id属性 - 该值必须对同一文档中的所有其他DOM元素唯一

使用班级......

<select class="myclass">
...
</select>

$('.selec:checked').each(function () {