【问题标题】:Jquery.Validate Based on ConditionJquery.Validate 基于条件
【发布时间】:2014-09-20 04:36:52
【问题描述】:

我正在尝试使用 Jquery.Validate() 进行条件验证

我有一个名为 selectAmount 的选择 和一个名为 txtAmount 的输入

如果 selectAmount 值 = "其他"

我希望需要 txtAmount。

<div id="container">
    <form id="AddForm" method="POST" action="#">

                    <select name="selectAmount">
                        <option value="10">$10</option>
                        <option value="25">$25</option>
                        <option value="50">$50</option>
                        <option value="100">$100</option>
                        <option value="250">$250</option>
                        <option value="500">$500</option>
                        <option value="Other">Other</option>
                    </select>

                    <input name="txtAmount" type="text" placeholder="Enter Amount" />
            <button id="AddToCart">Add to Cart</button>
    </form>
</div>

这是我设置规则的地方。 我遇到的问题在这里:

"txtAmount": {
                required: function(element){
                    alert($("#selectAmount").val());
                    return false;

$('#selectAmount').val() //is always undefined

$(document).ready(function () {
  $("#AddForm").validate({
    rules: {
        "selectAmount" : {
            required: true
        },
        "txtAmount": {
            required: function(element){
                alert($("#selectAmount").val());
                return $("#selectAmount").val() == 'Other';
            }
        }
    },
    messages: {

        "selectAmount": {
            required: "Amount selection is required."
        },

        "txtAmount": {
            required: "Amount is required."
        }
    },
    submitHandler: function (form) { // for demo
        return false; // for demo
    }
});

});

http://jsfiddle.net/9YjH2/2/

谁能帮忙?

【问题讨论】:

    标签: jquery validation select conditional


    【解决方案1】:

    其实你们很亲近。 $("#selectAmount") 中的 # 告诉 jQuery 查找带有 selectAmount 的 id 的元素。但是 selectAmount 是 name 属性而不是 id。因此,如果您只是将id=selectAmount 属性添加到您的select 中,一切正常。这是fiddle(警告已被注释掉)。这里还有更多关于jQuery selectors. 的信息如果您不想添加id 属性,请查看attribute equals selector. 但是,我建议使用id

    所以最后只需更改此行:
    &lt;select name="selectAmount"&gt;

    &lt;select name="selectAmount" id="selectAmount"&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 2012-06-29
      • 2019-02-05
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多