jQuery stepper不会触发更改功能

时间:2013-05-04 04:55:35

标签: javascript jquery html5 firefox haml

我希望在更改输入字段时切换提交按钮的可见性。

由于firefox不支持HTML5输入type="number",因此我使用stepper jQuery plugin

最初隐藏提交按钮,当对包括步进器在内的任何表单字段进行更改时,应显示提交按钮,但是当我更改数字时,不会触发更改事件。

在Chrome中,type="number"字段的默认事件正常

HAML

.form-actions.hide{
     :style => 'border-top: none; 
     border-bottom: solid 1px; 
     border-bottom-color: #08C;'
}
%button#submit{
     :type => "submit", 
     :class => 'btn btn-primary', 
     :style => 'margin-top: -28px;'
} Submit

的JavaScript

if(BrowserDetect.browser == "Firefox"){
   $('#count').stepper();
}
$('#manage form input[type!=submit], select').change(function() {
   $('#manage form .form-actions').show();
});

1 个答案:

答案 0 :(得分:1)

检测浏览器不是最佳选择。而是检测对数字的支持

function hasNumber() {
  var inp = document.createElement("input");
  inp.setAttribute("type", "number");
  return inp.type !== "text";
}

然后根据您需要的文档

function changeField() {
  $('#manage form .form-actions').show();
}
$(function() {
  if (!hasNumber()) {
  $('#manage form input[type!=submit], select').change(changeField);
    $('#count').stepper({
      onStep: function( val, up ) {
        changeField();
      }
    });
  }
});