javascript - jquery 验证插件 if 语句

标签 javascript jquery validation

如果下拉列表等于某个值,您将如何验证字段。

示例:

HTML

<form id="foo">
    <!-----Dropdown----->
    <select name="budget_type">
        <option value="fixed" <?php if($budget_type=="fixed" ){echo "selected";} ?> >Fixed</option>
        <option value="hourly" <?php if($budget_type=="hourly" ){echo "selected";} ?> >Hourly</option>
    </select>
    <!-----Field----->
    <input id="dollar" type="text" name="budget" style="text-indent:17px;" value="<?php echo $budget; ?>" />
</form>

jQuery:

$('#foo').validate({
    rules: {
        budget: {
            required: true,
            notEquals: "0",
            digits: true,
            min: 50,
        }
    },

    messages: {
        budget: {
            required: "Please enter a value",
            min: "Minimum $ {0}",
        }
    }
});

因此,如果预算类型固定,则最小预算为 50,但如果预算类型为每小时,则最小预算为 10。我尝试了 if() 函数,但不知道如何以及在何处放置代码。

最佳答案

您可以更改 min 规则以动态传递值

jQuery(function($) {
  $('#foo').validate({
    rules: {
      budget: {
        required: true,
        digits: true,
        min: function() {
          return $('select[name="budget_type"]').val() == 'fixed' ? 50 : 10
        },
      }
    },
    messages: {
      budget: {
        required: "Please enter a value",
        min: "Minimum $${0}",
      }
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>
<form id="foo">
  <select name="budget_type">
    <option value="fixed">Fixed</option>
    <option value="hourly">Hourly</option>
  </select>
  <input id="dollar" type="text" name="budget" style="text-indent:17px;" value="20" />
  <input type="submit" value="Save" />
</form>

关于javascript - jquery 验证插件 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33010414/

相关文章:

javascript - 没有发现从 yuv420p 到 argb 的加速色彩空间转换

jQuery 在视口(viewport)上爆炸效果

ruby-on-rails - Rails 3 验证数字在空白/nil 时抛出参数错误

javascript - 在谷歌地图API上用ID覆盖标记点

javascript - 从 Asp :Menu 运行每个 MenuItem 的 javascript 函数

jquery - 具有只读和可编辑部分的 HTML5 文本控件

jquery - 如何在nodeJs中使用nodemon调试应用程序

javascript - 如何在 Angular 示例中使用 $valid

angularjs - 当多个表单中的相同 ng-model 设置为必需时,IE 11 中的验证问题

JavaScript 简单代码未运行