我正在使用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');
}
});
}
答案 0 :(得分:1)
这一行:
$('#selec:checked').each(function () {
向我表明您使用具有相同ID(selec
)的多个DOM元素 - 这将是您遇到问题的原因。
如果DOM元素指定了id
属性 - 该值必须对同一文档中的所有其他DOM元素唯一
使用班级......
<select class="myclass">
...
</select>
$('.selec:checked').each(function () {