1

所以我正在使用一个 jQuery 微调器,我希望它可以通过 jQuery 验证插件进行验证。微调器的形式是“form”,代码如下所示:

jQuery("#mySpinner").spinner({
    min: 110,
    max: 350,
    step: 10,
    spin: function() {jQuery("form").valid();}
});

jQuery("form").validate({
  rules:{
    mySpinner: {required: true, min: 150, max: 350}
  }
});

我在旋转时调用 jQuery("form").valid(),因为当微调器旋转时,验证不会发生。这将是我的问题的结束,但不幸的是,验证发生在微调器中的值更改之前。这是场景:

用户在微调器中键入 1111。验证在 4 日 1 开始(因为 .validate 中的最大值设置为 350),并让用户知道输入无效。然后用户单击向下箭头。首先,验证触发,该值被标记为无效。接下来,微调器内部的值更改为最大值(350,来自微调器的“最大值”值)。我剩下的是一个被标记为无效的有效值。如果我再次单击微调器,它将使用新值进行验证,并且无效标志消失。

有人可以告诉我如何在该微调器中的值更改后进行验证检查吗?就此而言,如果有更明显、更简单的解决方案,你能说出来吗?

提前致谢!

4

3 回答 3

0

I managed to trigger the validation after the value changes in the spinner by doing this:

jQuery(".ui-spinner").mouseup(function() {jQuery("form").valid();});
于 2012-05-31T15:44:42.800 回答
0

查看来自http://demos.radiantq.com/jQueryGanttDemo/demo.htm的 TimeScaleStartAndEnd 示例。他们有代码选项卡来查看 html 代码。希望样本对您有所帮助。

于 2012-05-31T08:18:33.930 回答
0

我认为使用 'change' 事件而不是 'spin' 事件可以解决您的问题。IE,

jQuery("#mySpinner").spinner({
    min: 110,
    max: 350,
    step: 10,
    change: function() {jQuery("form").valid();}
});
于 2012-11-20T22:53:42.943 回答