下面的代码实现功能如下:
一个表格中有一列是可以输入的文本框,但是要求输入内容不能重复,如果重复自动在后面加上数字
代码如下 :
//检测这个显示名称有没有被使用,如果有,自动在后面加上数字
function checkShowName(txt) {var jtxt = $(txt);
var txtval = jtxt.val();
var txtShowNames = $("#dtCustomerFields input[type='text'][id^='txtShowName_']");
txtShowNames.each(function (i, tsn) {
if ($(tsn).val() == txtval && $(tsn).attr("id") != jtxt.attr("id")) {//如果有重名的(除了它自己外),那么遍历一下看有多少个,因为后面要加一个数字
var num = 0;
txtShowNames.each(function (j, tsn1) {
if (jtxt.attr("id") != $(tsn1).attr("id")) {
var numpart = $(tsn1).val().replace(txtval, ''); //获取重名的数字部分
if (numpart != "" && !isNaN(numpart)) {//如果是数字且不为空,那么把这个数字赋值给num变量
if (parseInt(numpart) > num)//如果这个数字大于num的当前值,那么num取较大的值,也就是要取最大的数字
num = parseInt(numpart);
}
}
});
num = parseInt(num) + 1;
jtxt.val(txtval + num);
return false;
}
});
}