我正在使用onclick添加文本字段。我想要做的是将盒子的数量限制在5个左右。
我还需要将数字递增以用作ID。
我的代码:
jQuery('#add_slider_image').click(function() {
var i = 0
var plus = ++i;
jQuery('.form-table').append("<tr><td><input type'text' value='' name='slider[]' /><input type='button' name='sliderbut' value='Upload' id='button' rel='"+ plus +"' /></td><tr>");
var count = jQuery.('#button').attr('rel');
if(count=5){
alert('Limit reached');
}
})谢谢
发布于 2011-08-31 15:10:23
我想像这样的东西应该行得通:
jQuery('#add_slider_image').click(function() {
var count = jQuery("input[name='sliderbut']").length;
if (count < 5){
jQuery('.form-table').append("<tr><td><input type='text' value='' name='slider[]' /><input type='button' name='sliderbut' value='Upload' /></td><tr>");
}
})这里有一点简单的处理:http://jsfiddle.net/Daess/fukxu/
发布于 2011-08-31 15:15:43
您必须将计数器变量放在事件处理程序之外,否则每次都将从零重新开始。
您应该将添加元素的代码放在if语句中,以便显示消息或添加元素。
当您已经拥有值时,从刚才添加的按钮中读取值是没有意义的。此外,id应该是唯一的,因此您不会从最后一个按钮获得值,而是从第一个按钮获得值。
比较运算符是==,如果您使用=,您将改为为变量赋值,因此条件将始终为真。
$(document).ready(function(){
var sliderCount = 0;
jQuery('#add_slider_image').click(function() {
if (sliderCount == 5) {
alert('Limit reached');
} else {
sliderCount++;
jQuery('.form-table').append('<tr><td><input type="text" value="" name="slider[]" /><input type="button" name="sliderbut" value="Upload" rel="'+ sliderCount +'" /></td><tr>');
}
});
});发布于 2011-08-31 15:12:27
当您尝试将"count“与数字5进行比较时,您必须使用==。
count = 5会将count设置为5并始终返回true。如果您使用count == 5,它会将您的变量与数字5进行比较,并根据变量的值返回true或false。
另外,我认为你可以通过使用length来轻松计算按钮的数量,比如:$('.button').length应该返回带有类(而不是ID)的元素的数量"button“。
https://stackoverflow.com/questions/7253612
复制相似问题