这段代码出了什么问题?

时间:2010-06-14 20:20:52

标签: jquery

$('#PbtnSubmit').click(function() {
    if ($("#PricingEditExceptions input:checkbox:checked").length > 0) {
        var chec = $('#PricingEditExceptions input[type=checkbox]:checked');
        var PMstrIDs = chec.map(function() {
             return $(this).val();
        }).get().join(",");
        alert(PMstrIDs);
        $('#1_exceptiontypes').attr('value', exceptiontypes)
        $('#1_PMstrIDs').attr('value', PMstrIDs);
    } else {
        alert("please select atleast one exception");
        return false;
    }
});

 var checked = $('#PricingEditExceptions input[type=checkbox]:checked'); 

此代码在Firefox中返回正确的值,但在IE8中没有。我需要改变什么吗?

为什么我没有在IE8中获得所有选中的复选框?

请有人帮帮我吗?

2 个答案:

答案 0 :(得分:10)

你的“如果”声明它没有关闭......对于IE,那可以判处死刑:)

答案 1 :(得分:3)

Zuul的回答可能是正确的答案。但我还要指出IE和其他浏览器之间存在另一个区别。如果从change()事件处理程序调用此代码,您可能会看到意外行为。在处理复选框更改事件的方式中,IE和其他浏览器之间存在差异。

您应始终绑定click()事件而不是change()事件。