我有几个输入的表单。一旦你专注于输入,预填的"0"就消失了,你可以输入自己的值。如果您没有输入任何内容,并且在焦点上输入为空,则输入将被设置为"0"。这很有效。
问题开始时,一旦我再次关注输入的值之前设置为不同于0,而不是空的。假设我输入了2,一旦我在没有编辑任何东西的情况下聚焦它并聚焦出去,值被设置为"0"。
我想做的是,不同于"0"的值不会消失,光标将被设置在结束输入允许标准编辑选项。
我希望我解释清楚了。
我代码:<input type='text' class='pack' name='pack01' id='pack01' value='0'/><br>
<input type='text' class='pack' name='pack02' id='pack02' value='0'/>
JS:
$("input[name^=pack]").on("blur", function () {
if (!this.value) {
this.value = "0";
}
});
$("input[name^=pack]").on("focus", function () {
if (this.value = "0") {
this.value = "";
}
});
JSFiddle:https://jsfiddle.net/nitadesign/vop1vt4p/6/
问题就在这里
$("input[name^=pack]").on("focus", function () {
if (this.value = "0") {
this.value = "";
}
});
在if语句中,您正在设置this.value = 0
(注意单个等号)-而您应该这样做:
if (this.value == "0") {
this.value ="";
}
希望有帮助!