jQuery验证没有在change上工作

时间:2010-09-29 21:02:08

标签: jquery validation

  

可能重复:   jQuery custom validation method issue

我有一个必需的选择列表。验证正常,但更改select的值时不会删除错误消息。我不知道为什么,我之前使用过相同的代码而没有这个问题。

HTML:

<table border="0" cellspacing="0" cellpadding="0" class="menu">
    <tr>
        <form action="PHP/Nt6Subscribe.php" method="post" id="SinglePmnt">
            <td width="211">
                <select name="technology" class="select">
                <option value="" selected="selected">&nbsp;Please Select</option>
                <option value="Interactive Brokers">&nbsp;Interactive Brokers</option>
                <option value="MB Trading">&nbsp;MB Trading</option>
                <option value="Patsystems">&nbsp;Patsystems</option>
                <option value="PFG">&nbsp;PFG (Peregrine Financial)</option>
                <option value="TD AMERITRADE">&nbsp;TD AMERITRADE</option>
                <option value="Trading Technologies">&nbsp;Trading Technologies</option>
                <option value="Vision Financial Markets">&nbsp;Vision Financial Markets</option>
                <option value="Hosted">&nbsp;Zen-Fire</option>
                </select>
            </td>

            <td width="189">Single Payment of $995</td>

            <td width="211">
                <input type="hidden" name="item_number" value="34">
                <input type="submit" value="" class="orderNow" />
            </td>
        </form>
    </tr>
</table>

JavaScript代码:

<script type="text/javascript">
    $(document).ready(function() {
        var validator = $("#SinglePmnt").validate({
            rules: {
                    technology: {
                        required: true
                    }
            },
            messages: {
                    technology: {
                            required: "Please select your broker technology"
                    }
            },
            errorElement: "span",
            errorPlacement: function(error, element) {
                error.appendTo(element.parent("td"));
            }
        });
    });
</script>

总结一下,当你将它留在“请选择”时,它会在你点击提交时无效。如果更改该值,则错误不会消失。

2 个答案:

答案 0 :(得分:0)

我相信您需要在选择技术选择字段中输入ID

答案 1 :(得分:0)

尝试在模糊事件中强制验证。

$('#singleTech').blur(function(){
  $('#SinglePmnt').validate().element('#singleTech');
});

jQuery change() on <select> and firefox

您之前发布的实时链接似乎适用于IE,但不适用于FireFox。