Использование .removeAttr ('флажок') не работает - PullRequest
0 голосов
/ 09 августа 2011

Я использую codeigniter.see you: пример моего кода пожалуйста, заполните текстовое поле и установите флажок, затем нажмите на ссылку добавить, убедитесь, что не работает .removeAttr('checked')

newDiv.find('input').each(function () { $(this).removeAttr('checked').val(''); });


полный код:

$(document).ready(function () {
    $(function () {
        $('a.add').live('click', function (event) {
            event.preventDefault();
            var $class = '.' + $(this).closest('div.find_input').find('div').attr('class');
            var newDiv = $(this).closest($class).clone();
            $(this).closest($class).find('.adda').remove()
            //$(this).find('.adda').remove()
            //newDiv.append('<a href="" class="remove_input"></a>')
            newDiv.find('input').each(function () {
                $(this).removeAttr('checked').val('');
            });
            $($class + ':last').after(newDiv);
            //newDiv.remove('.adda')
            //alert(newDiv)
        });

        $('a.remove_input').live('click', function (event) {
            event.preventDefault();
            $(this).closest('div').remove();
        });
    });
});

С уважением

Ответы [ 3 ]

0 голосов
/ 09 августа 2011

Вы должны использовать функцию prop, выполнив это:

$(this).prop('checked', false);
0 голосов
/ 09 августа 2011

Попробуйте это:

newDiv.find('input').each(function () { $(this).prop('checked', false).val(''); });
0 голосов
/ 09 августа 2011

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

Мне повезло больше:

$(this).attr('checked', false);

Состояние checked флажка неотделимо от элемента; вы не можете больше удалить его состояние "проверено / не проверено", чем удалить его HTML-элементность. Вместо этого укажите, что флажок должен быть снят.

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