例如 如果有一个文本框包含值为" 123 @ sample"。
使用此代码
$('#PIN_ITM_Code').focus().select();
它选择所有123 @样本。
现在我想要的只是123.我已经尝试过这段代码,但是像焦点这样的错误并不是一个功能。
var $this = $('#PIN_ITM_Code').val().split('@')[0];
$this.focus().select();
希望你能帮助我。
答案 0 :(得分:0)
专注于表单元素的焦点是jquery。但是在你的代码$中,这包含了split返回的字符串。所以它会引发错误。
有javascript方法“setSelectionRange”,可以在输入框中选择文本的特定部分。
所以你的代码将是
var value= $('#PIN_ITM_Code').val();
var index=value.indexOf("@");
$('#PIN_ITM_Code')[0].setSelectionRange(0,index-1)
答案 1 :(得分:0)
试试这个:
var numericonly = $('#PIN_ITM_Code').val().split('@')[0];
alert(numericonly);
答案 2 :(得分:0)
如果你想通过jQuery做到这一点。试试这个。
<input type="text" value="123@sample" />
<button id="a">test</button>
<script>
$.fn.selectRange = function(start, end) {
return this.each(function() {
if (this.setSelectionRange) {
this.focus();
this.setSelectionRange(start, end);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
});
};
$("#a").click(function (){
var i = $("input").val().indexOf("@");
$('input').selectRange(i,i + 1);
});
</script>
这是fiddle