JQuery проверить взаимозависимую пару полей - PullRequest
0 голосов
/ 18 ноября 2011

Мне нужно подтвердить набор полей имени и номера мобильного телефона в форме. Для удобства в сценарии на стороне сервера я назвал поля с помощью обозначения массива (то есть в квадратных скобках). Кроме того, один и тот же HTML ниже повторяется несколько раз в зависимости от того, сколько записей требуется.

<table width="100%" border="0">
 <tr><td class="b_name"><label>Name <sup>*</sup></label></td><td class="b_mobile"><label>Mobile <sup>*</sup></label></td><td class="removetext"><a href="javascript:void(0);" onclick="removebroadcast(this);" id="remove_<?php echo $cnt;?>">Remove</a></td></tr>
 <tr><td class="b_name" id="name_<?php echo $cnt;?>"><input type="text" value="" name="broadcast_name[]" class="broadcast_name" /></td><td class="b_mobile" id="mobile_<?php echo $cnt;?>"><input type="text" value="" name="broadcast_mobile[]" class="broadcast_num" /></td><td id="message_<?php echo $cnt;?>">&nbsp;</td></tr>
</table>

Что касается правил / сообщений, я придумал:

'broadcast_name[]':{required:function(element){
                    return $(element).parent().next().children('input').val()!='';
                }
            },
'broadcast_mobile[]':{required:function(element){
                    return $(element).parent().prev().children('input').val()!='';
                }
            },

Однако это работает только для первого набора полей name / mobile. Я тоже попробовал несколько других приемов (например, использовал проверку типа $ .each, использовал пользовательскую функцию правила и т. Д.), Но ни один из них, похоже, не работал. Есть ли что-то, что я делаю здесь не так? Пожалуйста помоги! (

1 Ответ

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

вы можете проверить это для поля телефона: http://digitalbush.com/projects/masked-input-plugin/

, и вы не можете сделать что-то вроде

$('form').submit(function(e){
    var errors = false;
    $(this).find('input').each(function(){
        if($(this).val() === ''){
            errors = true;
        }
    });
    if(errors){
        e.preventDefault();
        alert('errors exist');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...