如何在文本框jquery中设置文本

时间:2016-12-01 20:25:00

标签: jquery

我知道获取文本框的值就像

$("#text").val();
<input type="text" id="text" />

但是我想在几个数字之后输入-,如果我输入021(三个数字)它应该放在它之后 - 就像021- 012-之后那样。

这就是我所做的。

$(document).ready(function(){
$("#text").on('focus',function()
        {
if((this).val() == "021"){
$("#text").text('-');
}
}
}

但是这种方法并不工作,我认为它不是正确的。任何人都可以做到吗?

2 个答案:

答案 0 :(得分:2)

您在input元素中输入的内容只是值,而不是该元素的HTML或.text()。而是继续使用.val()并执行:

$("#text").val($("#text").val()+"-");

.text()的jQuery文档中提到了这一点:

  

.text()方法不能用于表单输入或脚本。要设置或获取inputtextarea元素的文本值,请使用.val()方法。

答案 1 :(得分:0)

$('#text').keyup(function() {
    var val = this.value.replace(/\D/g, '');
    var newVal = '';
    while (val.length > 3) {
        newVal += val.substr(0, 3) + '-';
        val = val.substr(3);
    }
    newVal += val;`enter code here`
    this.value = newVal;
});

http://jsfiddle.net/ssthil/nY2QT/