我正在努力学习 JS,所以如果你的代码让世界爆炸,请原谅我。 不管怎样,我正在尝试制作一个类似于SO的标签系统界面。用户输入单词并用逗号(或空格键,但我不希望这样)分隔它们。
我正在使用 jQuery 访问 DOM(因为它更容易),并且我知道有各种 plugins这可以做到这一点并养活无家可归者,但正如我所说,我想学习。
这是我到目前为止所拥有的:
<input type="textbox" name="somebox" id"someid">
$(document).ready(function() {
var startPos = 0;
$("#someid").keyup(function() {
var inputText = $(this).val();
var commaPosition = inputText.indexOf(",", startPos);
var foundWords = [];
alert('Hello'); // even this doesn't work... why???
if (commaSearch !== '-1') {
// take the word:
foundWords.push(inputText.slice(startPos,commaPosition));
startPos = commaPosition + 1;
}
});
});
It can also be found here 。似乎没有任何作用,甚至警报也不起作用。任何帮助将不胜感激。
最佳答案
问题:
- HTML 无效 -
id
和"someid"
之间缺少=
。这将使alert()
工作。 - 使用
String.split(',')
而不是String.indexOf(',')
。要分割并删除多余的空格:inputText.split(/\s*,\s*/g)
- 我还得到 Uncaught ReferenceError: commaSearch is not Defined。 ——菲利克斯·克林
关于javascript - 使用 JS 查找字符串中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653238/