如何设置输入的数据最小值和设置消息,如果值小于最小值
How to set data-min of input and set message if value is less than min value
我试图设置输入的最小值,但消息不显示。如果需要输入并且输入的值小于最小值,如何显示此消息。我的代码是:
$(".mydiv :input").each(function () {
var min = $(this).attr('datamin');
if(min !== undefined && min !== null && min !== false) {
if(value < min) {
valid = false;
$(this).addClass('error');
$(this).closest('label').addClass('red');
$(this).closest('label').html('Required min value:' + min);
} else {
$(this).removeClass('error');
$(this).closest('label').removeClass('red');
}
}
<input datamin='1' class="required" name="order"/>
<label for="order"><?php echo __('order'); ?><span class="red">*</span><span class="min_value" style="display:none"></span></label>
您需要将此附加到change
事件,而不是在每个事件上执行。您还需要设置值(使用.val()
)
转换和围绕值的更多验证也会很好(使用isNaN
)
$(document).ready(function() {
$(".mydiv input").on('change', function() {
var min = Number($(this).attr('datamin'));
var value = Number($(this).val());
if (min !== undefined && min !== null && min !== false && !isNaN(min)) {
if (value < min || isNaN(value)) {
valid = false;
$(this).addClass('error');
$(this).closest('label').addClass('red');
$(this).closest('label').html('Required min value:' + min);
} else {
$(this).removeClass('error');
$(this).closest('label').removeClass('red');
}
}
})
});
.error, .red {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">
<input datamin='1' class="required" name="order" />
<label for="order">
<?php echo __( 'order'); ?><span class="red">*</span><span class="min_value" style="display:none"></span>
</label>
</div>
您需要实际检索值:
var theValue = +$(this).val(); //you're not doing this
//note that + sign attempts to coerce a value (vs. text), but you may try some additional validation
if(theValue < min) {
valid = false;
$(this).addClass('error');
$(this).closest('label').addClass('red');
$(this).closest('label').html('Required min value:' + min);
} else {
$(this).removeClass('error');
$(this).closest('label').removeClass('red');
}
}
编辑:正如@potatopeelings补充的那样,您还需要在change
上启动这个
相关文章:
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 高图表 - 在缩放重置中设置最大值和最小值
- Java 脚本 设置日期的最小值和最大值属性
- 如何设置jQuery微调器的最大值和最小值
- 如何设置日期滑块的选定范围的最小值
- 设置要在 select2 插件中选择的最小值
- 如何通过javascript或jquery在html5中设置的最大值和最小值
- 如何在 jQuery 中设置日期选择器的最小值和最大值
- 根据第一个询问的输入设置输入类型范围的最小值
- 根据 d3.js 中的数据集最小值和最大值设置轴范围
- 如何设置max&iOS上输入类型日期的最小值
- 如何在Rickshaw/D3中设置x轴的最小值/最大值
- JQuery attr不设置最大值,但设置最小值的html输入标签
- 如何在html中设置年的最大值和最小值
- 如何设置输入的数据最小值和设置消息,如果值小于最小值
- 如何在jQplot属性之外设置y轴的最小值
- 设置文本框的最大值和最小值
- 如何在Jquery或js中设置最小值和最大值的限制
- 验证 jQuery 设置最大值和最小值以进行验证
- 如何在angular js中设置最大值和最小值