如何在textbox jquery中设置文本

如何在textbox jquery中设置文本,jquery,Jquery,我知道获取文本框的值就像 $("#text").val(); <input type="text" id="text" /> 但这种方法不起作用,我也认为它是正确的。任何人都可以这样做吗?在输入元素中输入的只是值,而不是元素的HTML或.text()。相反,请继续使用.val(),并执行以下操作: $("#text").val($("#text").val()+"-"); jQuery文档中提到了这一点: .text()方法不能用于表单输入或脚本。要设置或获取input或text

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

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

但这种方法不起作用,我也认为它是正确的。任何人都可以这样做吗?

输入
元素中输入的只是值,而不是元素的HTML或
.text()
。相反,请继续使用
.val()
,并执行以下操作:

$("#text").val($("#text").val()+"-");
jQuery文档中提到了这一点:

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


input
元素中输入的只是值,而不是元素的HTML或
.text()
。相反,请继续使用
.val()
,并执行以下操作:

$("#text").val($("#text").val()+"-");
jQuery文档中提到了这一点:

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


还有一个问题,我们必须把它放在三个数字之后,这样你可以显示或修复它吗?@Matt类似于输入电话号码,例如
123456789
将变成
123-456-789
?除此之外,您希望在用户完成键入(
blur
)后应用它,还是在键入这些数字时将其放入?在键入时应用它们!只在前三个数字之后。就像我的正则表达式是这样的“/^[0-9]{3}-[0-9]{8}$/”@Matt你可以简单地对HTML5使用
。天哪!为什么我以前没有得到这个!还有一个问题,我们必须把它放在三个数字之后,这样你能显示或修复它吗?@Matt类似于输入电话号码,例如
123456789
将变成
123-456-789
?除此之外,您希望在用户完成键入(
blur
)后应用它,还是在键入这些数字时将其放入?在键入时应用它们!只在前三个数字之后。就像我的正则表达式是这样的“/^[0-9]{3}-[0-9]{8}$/”@Matt你可以简单地对HTML5使用
。天哪!为什么我以前没有得到这个!我很感激你的努力,但我只需要——在前三个数字之后。这是regex“/^[0-9]{3}-[0-9]{8}$/”我感谢您的努力,但我只需要-在前三个数字之后。这是正则表达式“/^[0-9]{3}-[0-9]{8}$/”
$('#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;
});