如何使用 JavaScript 從輸入文本框中洗掉最后一個字符?我做這個小任務它的作用是當我們在輸入中寫一個字母時,它會檢查佇列中值的索引號。我們將全部選擇它們 我們將選擇輸入中的所有人,除了我們寫的那封信。
- 現在我希望當我洗掉一個字母時,它將被洗掉并運行 getSelectedText 函式。
- 當我按下控制按鈕或任何其他 Esc 鍵時。所以讓我們顯示陣列中的所有值。
HTML 代碼:
<input id="autocomplet" onkeyup="filter(this.value);">
Javascript代碼:
<script>
var data = document.querySelector('#autocomplet');
var myArray = ["c ", "java", "php", "coldfusion", "javascript", "asp", "ruby"];
function filter(letter) {
var results = [];
var len = myArray.length;
for (var i = 0; i < len; i ) {
if (myArray[i].indexOf(letter) == 0){
results.push(myArray[i]);
data.value = results;
getSelectedText(data,letter);
}
}
if((event.keyCode == 46) || (event.keyCode == 8)){
data.value='';
}
}
function getSelectedText(data,letter) {
data = data.value;
var datalength = data.length;
var letterlength = letter.length;
autocomplet.setSelectionRange(letterlength,datalength);
}
</script>
uj5u.com熱心網友回復:
我不知道這是否有幫助,但它就在這里。
var data = document.querySelector('#autocomplet');
var myArray = ["c ", "java", "php", "coldfusion", "javascript", "asp", "ruby"];
function filter(letter) {
var results = [];
var len = myArray.length;
if ((event.keyCode == 46) || (event.keyCode == 8)) {
return getSelectedText(data, letter);
// data.value = '';
}
for (var i = 0; i < len; i ) {
if (myArray[i].indexOf(letter) == 0) {
results.push(myArray[i]);
data.value = results;
getSelectedText(data, letter);
}
}
}
function getSelectedText(data, letter) {
data = data.value;
var datalength = data.length;
var letterlength = letter.length;
autocomplet.setSelectionRange(letterlength, datalength);
}
uj5u.com熱心網友回復:
考慮以下。這是一個 jQuery 示例,但所有相同的演算法都應該適用于 JavaScript。
$(function() {
var myArray = ["c ", "java", "php", "coldfusion", "javascript", "asp", "ruby"];
function checkEntry(event) {
console.log(event.keyCode);
if (event.keyCode == 8) {
resetVal(event.target);
}
filter($(event.target).val(), event.target);
}
function resetVal(target) {
var val = $(target).val();
var sel = window.getSelection().toString();
window.getSelection().empty();
console.log("Reset", val, sel);
$(target).val(val.slice(0, val.length - 1));
}
function filter(term, target) {
var result;
var notFound = true;
console.log("Filter", term);
$.each(myArray, function(i, v) {
if (v.indexOf(term) == 0 && notFound) {
result = v;
notFound = false;
}
});
$(target).val(result);
getSelectedText(result, term);
}
function getSelectedText(data, letter) {
console.log("Select", data, letter);
$("#autocomplet").get(0).setSelectionRange(letter.length, data.length);
}
$("#autocomplet").keyup(checkEntry);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="autocomplet" type="text" />
uj5u.com熱心網友回復:
您可以獲取輸入并將其放入字串中。然后取輸入的長度并執行一個 for 回圈,該回圈將比長度的數量少一倍。之后逐個字母地在新變數中重建短語。
let phrase = “your_phrase.”;
let x = 0;
let p2=“”;
let n = 0;
while(true)
{
if(phrase == null){break;}
x
}
x—-; //maybe try to delete this if 1 extra letter deleted.
for(n; n <= x-1;x )
{
p2 = p2 - phrase[n];
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444644.html
標籤:javascript jQuery 数组
下一篇:要跨越的字符數的多個計數?
