jQuery add - 到输入,但只添加两次
jQuery add - to input but only add twice
我这里有这个小脚本...它每 4 个字符后添加一个"-",但我需要它不要在 12 个字符后添加 - 。
$(function(){
$("#promo").keyup(function(){
var $this = $(this);
if ((($this.val().length+1) % 5)==0){
$this.val($this.val() + "-");
}
});
});
但它在 12 个字符的末尾添加一个"-",尽管我的字符限制为 14。
我这里有一个JSFiddle
我将如何防止这种情况发生?
maxlength
属性不会阻止您使用Javascript修改<input>
值。
您仍然可以添加检查:
$(function(){
$("#promo").keyup(function(){
var $this = $(this);
if ((($this.val().length+1) % 5)==0 && $this.val().length() < $this.attr("maxlength")){
$this.val($this.val() + "-");
}
});
});
您可以在 if 中添加以下内容:
if ($this.val().length > 12) {
return false;
}
代码建议(使用较少的jQuery):
$(function () {
$("#promo").keyup(function () {
if (((this.value.length + 1) % 5) == 0) {
if (this.value.length > 12) {
return false;
}
this.value += "-";
}
});
});
在这里演示
你可以
简单地使用 &&AND 运算符,并使其成为一个条件,如果 val.length 大于 11,则什么都不会发生
$(function(){
$("#promo").keyup(function(){
var $this = $(this);
if ((($this.val().length+1) % 5)==0 && $this.val().length <=11){
$this.val($this.val() + "-");
}
});
});
http://jsfiddle.net/sAu32/3/
我没有
看小提琴,而是;
$(function(){
$("#promo").keyup(function(){
var $this = $(this);
if ((($this.val().length+1) % 5)==0 && $this.val().length <= 12){
$this.val($this.val() + "-");
}
});
});
$(function(){
$("#promo").keyup(function(){
var $this = $(this);
if($this.val().length<14){
if ((($this.val().length+1) % 5)==0){
$this.val($this.val() + "-");
}
}
});
});
给你。
小提琴更新在这里
相关文章:
- 主干.js绑定到集合“添加”呈现视图两次
- 元素必须单击两次才能添加Class(自定义指令)
- jQuery add - 到输入,但只添加两次
- 以嵌套形式动态生成的字段添加了两次 Rails
- rails link_to_add_fields 以嵌套形式将每个字段添加两次
- 非重复数组编号(使用 Jquery 添加两次或更多
- 向同一按钮添加两次单击事件只能工作一次
- Rest.next()?我的点击功能添加'.活动'两次
- 在一个元素上添加两次相同的类
- ascx控件两次添加到页面时调用了错误的javascript函数
- Jquery库在一个页面中添加两次时出现问题
- Javascript appendChild将一个元素添加到DOM中两次
- 一次向一个元素添加两个元素,一个在另一个内部
- 如何添加值到javascript数组两次或更多
- 当点击点赞按钮并在点赞中添加评论时,IE 9在脸书墙上发布了两次
- Javascript moments .js添加日期(每月两次)
- 在Jquery中添加两次图像
- 重定向时添加了两次参数
- 不能将同一个模型添加到一个集合中两次
- Javascript添加两次并检查条件