(我使用的是html + J-query) 我有一个情况,我有一个文本框,和 每当用户第一次在其中键入任何内容时,该字符必须附加@符号,并且键入的下一个字符必须放在@符号之前。
代表。 第一个字符键入: C@ 第二个字符键入: CF @
这是我到目前为止所尝试的,
'<script>
$(document).ready(function(){
var v=$('#title').val();
if(!v)
{
$('#title').on('key up', function(){
this.value = this.value+'@';
});
}
else
var s=this.value;
var x=s.replace(s. sub string (s.length-1, s.length),'@' );
});
</script>
</head>
<body>
<input type="text" id="title" value=""/>
</body>`
答案 0 :(得分:1)
这就是我开始工作的方式
HTML
<input type="text" id="title" value="" />
Javascript
$(document).ready(function () {
var titleValue = null; //Create a variable to store the value
$('#title').keyup(function () { //properly bind the keyup function
if (titleValue == null) { //check to see if the stored value is null
this.value = this.value + '@'; //append the @ symbol to the end of the value
this.setSelectionRange(1, 1); //basically set the cursor's index to 1
titleValue = this.value; //store the new value
} else if (this.value == "") { //if the value was not null, check to see if the textbox is empty
titleValue = null; //reset the variable to null so the first if will trip on keyup
}
});
});
答案 1 :(得分:1)
请查看以下代码,它将满足您的目的:
HTML:
<input type="text" id="txtDemo" />
Jquery的:
$(document).ready(function () {
$('#txtDemo').keyup(function () {
if ($(this).val().trim().length == 1) {
if ($(this).val().indexOf('@') === -1) {
$(this).val($(this).val() + '@');
}
else {
$(this).val('')
}
}
else {
if ($(this).val().indexOf('@') === -1) {
$(this).val($(this).val() + '@');
}
else {
var jam = $(this).val().split('@');
$(this).val(jam[0] + jam[1] + '@')
}
}
})
})