【发布时间】:2013-08-10 21:14:26
【问题描述】:
场景:我有一系列带有唯一数字的文本框。如果我将文本框中的值更改为另一个值,那么与该值相同的任何其他文本框的值都会被交换。
下面的代码第一次适用于 2 个文本框,但当我再次尝试交换它们时不起作用。
<input type="text" name="txtseq" id="txt1" value="6"></input><br>
<input type="text" name="txtseq" id="txt2" value="5"></input><br>
<input type="text" name="txtseq" id="txt3" value="4"></input><br>
<input type="text" name="txtseq" id="txt4" value="3"></input><br>
<input type="text" name="txtseq" id="txt5" value="2"></input><br>
<input type="text" name="txtseq" id="txt6" value="1"></input><br>
<input type="text" name="txtseq" id="txt7" value="7"></input><br>
var old = "";
$("document").ready(function () {
$("input[type='text'][name*='txtseq']").focus(function(){
old = $(this).val();
});
$("input[type='text'][name*='txtseq']").change(function () {
var vl = $(this).val();
if (vl != "" && parseInt(vl) > 0) {
ChangeSeq(vl);
} else {
$(this).val(old);
return;
}
});
});
function ChangeSeq(val) {
var v = $("input[type='text'][name*='txtseq'][value='" + val + "']");
$(v).val(old);
}
【问题讨论】:
-
input是一个自闭合元素,所以<input/>。 -
谢谢..但我坚信它不会解决问题...
标签: jquery events textbox onchange swap