Выпуск jQuery 1.6.4 и RadioButtonList - PullRequest
       0

Выпуск jQuery 1.6.4 и RadioButtonList

1 голос
/ 12 октября 2011

Переход с jQuery 1.4.4 на jquery 1.6.4 начал нарушать мой код, связанный с radiobuttonlist.

Вот пример кода и шаги для воспроизведения странного поведения:

Шаги для воспроизведения:

1: Радио A уже выбрано.

2: Выберите радио B

3: Введите что-нибудь в текстовое поле и выведите.

Вы увидите: A проверен, а B проверен оповещениями.

Так что именно изменилось с 1.6.4 до 1.4.4, что вызывает его поломку?

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
        <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function txtchanged(tb) {
            $(".rbl").find("input[type='radio']").each(function () {
                alert($(this).val() + " " + $(this).attr("checked"));
            });
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:RadioButtonList ID="RadioButtonList1" runat="server" CssClass="rbl">
        <asp:ListItem Text="A" Value="A" Selected="True" />
         <asp:ListItem Text="B" Value="B" />
    </asp:RadioButtonList>
    <asp:TextBox ID="tb" runat="server" CssClass="tb" onblur="txtchanged(this)"></asp:TextBox>
    </form>
</body>
</html>

1 Ответ

5 голосов
/ 12 октября 2011

Цитата OP:

Так что именно изменилось с 1.6.4 до 1.4.4, что заставляет его перерыв

Радиокнопка checked это не атрибут, это свойство. JQuery был обновлен в версии 1.6, чтобы исправить эту семантическую ошибку. * * 1010

Изменить это ...

.attr("checked")

к этому ...

.prop("checked")

редактирует:

Что касается комментария ОП о том, почему jQuery не имеет обратной совместимости:

1) Это добавит скопление раздува в код.

2) Быть "1026 *" обратно совместимым " было бы практически равносильно устранению этой проблемы.

См. Эту страницу, чтобы прочитать примечания к выпуску для каждой версии jQuery .

Также измените это ...

.removeAttr('checked')

к этому ...

.removeProp('checked')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...