我有以下html和jquery代码(接替以前的同事)
<div id="div01">
<input type="text" id="txt01" class="NumberMask" maxlength="12"/>
</div>
this.Init=function(){
...
$("#div01").find(".NumberMask").attr("alt", "p0x3p0S").autoNumeric();
...}
工作正常。我最多只能输入12个号码。但如果我改变maxlength =“16”,不知怎的,我只能输出最多15个数字。任何人都可以解释这条线的意思吗?
$("#div01").find(".NumberMask").attr("alt", "p0x3p0S").autoNumeric();
为什么我只能放15个而不是16个?
答案 0 :(得分:0)
.autoNumeric()
是一个名为autoNumeric的jQuery插件。
根据设置的不同,插件会覆盖您设置的所有maxlength
。我认为maxlength
元素上的<input>
与从头开始设置的maxlength
相同只是巧合。
.attr("alt", "p0x3p0S")
只需将alt
上的<input>
设置为alt="p0x3p0S"
即可。这将是结果元素:
<input type="text" id="txt01" alt="p0x3p0S" class="NumberMask" maxlength="12"/>
p0x3p0S
表示我不知道。可能是某种标识符。需要查看其余的代码才能确定问题,但很可能与您的问题无关。
答案 1 :(得分:0)
autoNumeric完全忽略了html maxlength。相反,它使用其vMax设置作为模型,以表示数字的大小。我相信他们这样做是为了容纳小数点。
只有整数maxlength 5的设置是: vMax:99999, vMin:0, aSep:''
explantation:vMax允许五个字符并删除小数点。将vMin设置为零可确保其中一个字符空格永远不会是负数的减号。 aSep设置为空('')确保它不会为了轻松读取大数而注入逗号。
我有一个类似的问题,不得不构建一个小函数,通过获取元素maxlength并创建一个包含多个九的字符串,然后使用该字符串设置自动数字来创建vMax设置。但这是一个独特的案例,应用程序动态自动生成html和javascript绑定,我不得不让它尊重maxlength属性。您可以在最有可能为该对象的jquery中设置它。