jQuery Append / Remove - добавляет, но не удаляет - PullRequest
0 голосов
/ 22 ноября 2011
   function addFormReqFields() { // Add * for required fields
        $('form label').each(function(index) {
            if ($(this).hasClass('required')) {
                $(this).append('<span class="required"> *</span>');
            }
        });
    }   

    $('#oh_CountryDrpDwn').change(function(){
        var CountryDrpDwn = $('#oh_CountryDrpDwn').val();
        if (CountryDrpDwn != 'usa')
        {
            $('#oh_ZipLbl').remove('<span class="required"> *</span>');
        }
        });

Я не могу заставить это работать.

У меня есть форма, в которой все элементы изначально установлены как обязательные с красной звездочкой. (первая функция).

Во второй функции у меня есть поле выбора (oh_CountryDrpDwn), которое, когда значение не равно 'usa', я хочу удалить <span class="required"> *</span> из метки.

Но, похоже, это не сработает вообще.

Есть идеи?

спасибо.

Ответы [ 3 ]

3 голосов
/ 22 ноября 2011

Вот Скрипка

 $('#oh_ZipLbl').find('span.required').remove();

При удалении используется селектор, а не HTML. Если вы измените содержимое на требуемый класс, это может решить вашу проблему.

1 голос
/ 22 ноября 2011

Хосе Вега совершенно прав, но я мог бы добавить, что вам следует рассмотреть возможность использования присоединения / отсоединения, особенно в этом случае, когда вам может понадобиться повторно присоединить элемент.По сути, это означает, что элемент «удален», но не «уничтожен», так что вы можете повторно вставить его по своему усмотрению, без необходимости его регенерировать.здесь: http://www.bennadel.com/blog/1822-Learning-jQuery-1-4-Remove-vs-Detach-.htm

0 голосов
/ 22 ноября 2011

Отредактировано:

Сначала я подумал, что функции нужно указать, где найти тот же элемент, к которому вы изначально добавили.

$(this).find('span.required').remove();

Однако я не эксперт, поэтому нет гарантии, что это хороший ответ для вас!

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