首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略HTML5中< type="number“/>的属性

忽略HTML5中< type="number“/>的属性
EN

Stack Overflow用户
提问于 2020-09-08 20:48:42
回答 1查看 59关注 0票数 0

我在chrome、opera和Microsoft中测试了它,但除了忽略值和名称之外,它仍然具有属性。

代码语言:javascript
复制
<input type="number" class="input-number" min="1" max="10" maxlength="2" step="1" value="<?php echo $_SESSION['cart'][$row['id']]['quantity']; ?>" name="quantity[<?php echo $row['id']; ?>]" />

简而言之,我的“增量和递减”按钮绕过了的限制,这里是整个代码。

代码语言:javascript
复制
<div class="quantity ml-auto">
<div class="input-group input-number-group">
  <div class="input-group-button">
    <span class="input-number-decrement">-</span>
  </div>
  <input type="number" class="input-number" min="1" max="10" maxlength="2" step="1" value="<?php echo $_SESSION['cart'][$row['id']]['quantity']; ?>" name="quantity[<?php echo $row['id']; ?>]" />
  <div class="input-group-button">
    <span class="input-number-increment">+</span>
  </div>
</div>
</div>

我也在使用Jquery。如果我删除了这个脚本,那么属性就能很好地工作。也许这个剧本有问题。

代码语言:javascript
复制
<script>
    $('.input-number-increment').click(function() {
  var $input = $(this).parents('.input-number-group').find('.input-number');
  var val = parseInt($input.val(), 10);
  $input.val(val + 1);

});

$('.input-number-decrement').click(function() {
  var $input = $(this).parents('.input-number-group').find('.input-number');
  var val = parseInt($input.val(),  10);
  $input.val(val - 1);

});


</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-09 14:19:12

最后,我得到了答案。这是最后的代码。

HTML代码

代码语言:javascript
复制
<div class="quantity ml-auto">
<div class="input-group input-number-group">
  <div class="input-group-button">
    <span class="input-number-decrement">-</span>
  </div>
  <input type="number" class="input-number" min="1" max="10" maxlength="2" step="1" value="<?php echo $_SESSION['cart'][$row['id']]['quantity']; ?>" name="quantity[<?php echo $row['id']; ?>]" />
  <div class="input-group-button">
    <span class="input-number-increment">+</span>
  </div>
</div>
</div>

CSS

代码语言:javascript
复制
input-number-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.input-number-group input[type=number]::-webkit-inner-spin-button,
.input-number-group input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
          appearance: none;
}

.input-number-group .input-group-button {
  line-height: calc(80px/2 - 5px);
}

.input-number-group .input-number {
  width: 80px;
  padding: 0 12px;
  vertical-align: top;
  text-align: center;
  outline: none;
  display: block;
  margin: 0;
}

.input-number-group .input-number,
.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
  border: 1px solid #cacaca;
  height: 40px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-radius: 0;
}

.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
  display: inline-block;
  width: 40px;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  font-size: 2rem;
  font-weight: 400;
}

.input-number-group .input-number-decrement {
  margin-right: 0.3rem;
}

.input-number-group .input-number-increment {
  margin-left: 0.3rem;
}

最终脚本

代码语言:javascript
复制
<script>
    $(document).ready(function () {
  
  jQuery('.quantity').each(function () {
    var spinner = jQuery(this),
        input = spinner.find('input[type="number"]'),
        btnUp = spinner.find('.input-number-increment'),
        btnDown = spinner.find('.input-number-decrement'),
        min = input.attr('min'),
        max = input.attr('max');

    btnUp.click(function () {
      var oldValue = parseFloat(input.val());
      if (oldValue >= max) {
        var newVal = oldValue;
      } else {
        var newVal = oldValue + 1;
      }
      spinner.find("input").val(newVal);
      spinner.find("input").trigger("change");
    });

    btnDown.click(function () {
      var oldValue = parseFloat(input.val());
      if (oldValue <= min) {
        var newVal = oldValue;
      } else {
        var newVal = oldValue - 1;
      }
      spinner.find("input").val(newVal);
      spinner.find("input").trigger("change");
    });

  });
});
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63801367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档