【问题标题】:Conditional validation with jquery使用 jquery 进行条件验证
【发布时间】:2011-06-24 17:39:37
【问题描述】:

我有一个带有许多单选按钮选项的表单,都是必需的。

但是,我想在一个选择的单选按钮上添加额外的验证。

例如:

如果选择的值等于“棕色”,则仅需要对该颜色进行进一步验证,例如

input:radio[name='radTypeJoint']:checked").val() == 'Shear' 
&& 
input:radio[name='radSubstrate']:checked").val() == 'Masonry to Masonry'

return false;

任何想法,非常感谢亚当

我现在明白了:

radShade: { required: function(element) {  
                if (($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radGeographical']:checked").val() == 'South Facing') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radGeographical']:checked").val() == 'West Facing') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radMovement']:checked").val() != 'Increase of 12 of minimum joint width') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radStories']:checked").val() != 'Less than 3') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radSubstrate']:checked").val() != 'Masonry to Masonry') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radElements']:checked").val() == 'Window') || ($("input:radio[name='radShade']:checked").val() == 'Brown') && ($("input:radio[name='radTypeJoint']:checked").val() == 'Fillet')) {
                alert("This shade is not available with your current selections");
                return false;
                };
            }

但即使我返回true或返回false,表单仍然会提交。

【问题讨论】:

  • 我没有收到你的问题......我想你已经写下了你的问题的答案......
  • 我在使用正确的语法,因为我没有收到任何错误或返回结果。我知道我走在正确的轨道上,但这对我来说也没有发生。
  • 为什么写return false?
  • 进一步研究这个我只是越来越沮丧。我有这部分是必需的 radShade: { required: true } 然后取决于这部分的值是否为“棕色”,我需要对所选颜色的结果进行进一步验证。请有任何想法:-(

标签: jquery validation conditional


【解决方案1】:

检查一下:

HTML:

<input name="radiobutton" type="radio" value="brown" id="all" runat="server" class="cssRadio"/>
<input name="radiobutton" type="radio" value="black" id="Radio1" runat="server" class="cssRadio"/>
<input name="radiobutton" type="radio" value="red" id="Radio3" runat="server" class="cssRadio"/>

JQUERY:

$(".cssRadio").click(function(){
    if($(this).val()=="brown")
    {
        //here u get the object of clicked radion button now do your validation
        alert($(this).val());
    }
    if($(this).val()=="black")
    {
        //here u get the object of clicked radion button now do your validation
        alert($(this).val());
    }
});

【讨论】:

  • @Vivek:根据我从这个问题的理解,Adam 想要对所选单选按钮应用进一步验证。因此,他将获得所选单选按钮的对象并进行进一步验证。
  • 进一步研究这个我只是越来越沮丧。我有这部分是必需的 radShade: { required: true } 然后取决于这部分的值是否为“棕色”,我需要对所选颜色的结果进行进一步验证。请有任何想法:-( –
  • 您的意思是在显示警报后(“此阴影不适用于您当前的选择”)弹出表单正在提交,即使您在此之后写了 return false ??
猜你喜欢
  • 2011-02-21
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2012-08-29
  • 1970-01-01
相关资源
最近更新 更多