переключатель радио нажмите кнопку удалить сообщение об ошибке

0

У меня есть несколько переключателей в форме. Я проверяю их на отправке формы. Поэтому, если радиокнопки не выбраны, отобразится ошибка, указанная в атрибуте title этого переключателя. Название отличается для разных переключателей. Эта ошибка отображения теперь работает нормально. Теперь мне нужно удалить это сообщение об ошибке, когда пользователь проверяет переключатель. Но это не работает

HTML

 <div class="input-container" data-validation="required">

<input type="radio" name="radio1" id="first" value="First" class="required "title="Please select first to continue."/>
<label for="first">First</label>
     <br/>
<input type="radio" name="radio1" id="second" value="Second" class="required "title="Please select first to continue."/>
<label for="second">Second</label>
</div>
<hr/>
<div class="input-container" data-validation="required">

<input type="radio" name="radio2" id="first" value="First" class="required "title="Please select second to continue."/>
<label for="first">First</label>
 <br/>
<input type="radio" name="radio2" id="second" value="Second" class="required "title="Please select second to continue."/>
<label for="second">Second</label>
</div>
<hr/>
<button>Validate</button>

Javascript

$(function() {
$('button').click(function(){
$.each($('.input-container[data-validation=required]'), function (idx,group) {


    var current = $(group).find(':radio');
   if( !current.is(':checked') ) {
        var title = current.attr('title');
       $(group).next('ul.innererrormessages').remove();
        $(group).after('<ul class="innererrormessages"><li>'+title+'</li></ul>');
        }


    });
});
   $('.input-container .required').change(function(){
$(this).next('ul.innererrormessages').remove();
 });

});

Скрипка http://jsfiddle.net/jUQYr/26/

Теги:
error-handling
radio-button

2 ответа

0
Лучший ответ

Вы можете сделать это:

$('.input-container .required').change(function () {
   $(this).closest('.input-container').next('ul.innererrormessages').remove();
});

Демо-версия скрипта

  • 0
    Привет, Палаш. Спасибо за твоё решение. Хорошо работает на скрипке. Но когда я помещаю это в мой код, сообщение об ошибке не удаляется.
  • 0
    Тогда у меня должна быть какая-то проблема с твоей стороны. Проверьте, совпадает ли разметка HTML, предоставленная вами в скрипте и в вашем коде, или нет. Если возможно, создайте простую HTML-страницу в своем приложении, добавьте к ней соответствующую HTML-разметку и код jQuery и протестируйте ее снова.
Показать ещё 5 комментариев
0

Напишите это:

$('button').click(function(){
    $(".innererrormessages").remove(); // add this line to clear messages first
    $.each($('.input-container[data-validation=required]'), function......

Меняться от

$(this).next('ul.innererrormessages').remove();

в

 $(this).parents(".input-container").next('ul.innererrormessages').remove();

Обновлена скрипка.

  • 0
    Привет, Hiral. Спасибо за ответ. Да, извините, я пропустил эту строку. Но это просто поможет избежать повторения этого текстового сообщения. Но мне нужно удалить сообщение об ошибке, как только пользователь выберет переключатель.
  • 0
    @ user1049057 да я пропустил. Я отредактировал свой ответ.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню