我在keypress 35上有jquery代码,它是#downdown div。我需要得到站在#like。
旁边的词 <textarea></textarea>
我键入#Michael我想将#Michael存储在var name
中
在发出ajax请求以检查Michael是否存在于数据库中之后,如果确实存在,请在下拉列表div
内回显它。在点击列表中的某些内容后,将其替换为名称和#之前的名称,如果我得到结果:
迈克尔帕克,点击这个,用名称值替换这个。
我需要选择用#
输入的单词[问] 如何选择站在#旁边的单词?
答案 0 :(得分:1)
试试这个:
function getName(){
var t = document.getElementsByTagName('textarea')[0].value;
var name = t.split(' ');
name.forEach(function(str){
if(str[0] === '#') {
return str;
}
});
}
我用它进行测试
<textarea>asjdaksdjans #hacj asdasd</textarea>
<button onclick="getName()">find</button>
我希望这就是你想要的。
修改强>
function getName(){
var t = document.getElementsByTagName('textarea')[0].value;
if(t[t.length-1]=== ' '){
var name = t.split(' ');
name.forEach(function(str){
if(str[0] === '#') {
console.log(str);
}
});
}
}
进行测试:
<textarea onkeyup="getName()">asjdaksdjans #hacj asdasd</textarea>
修改强>
jQuery(function($){
$('textarea').on('keyup', function(event){
var text = $(this).val();
if(text[text.length-1]=== ' ') {
var name = text.split(' ');
$.each(name, function(i, str) {
console.log(i, str);
if(str[0] === "#") {
alert('name is:' +str);
}
});
}
});
});
答案 1 :(得分:0)
这是一个有效的例子。请注意,您不能从事件处理程序'getvalue'。但是你可以从那个处理程序调用动作。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var capName = '';
var capStart = false;
$('#txt').keypress(function (e) {
if (e.key == '#') {
capStart = true;
capName = '';
}
if (capStart && /[a-z0-9_#-]/i.test(e.key)) {
capName += e.key;
}
if (capStart && !/[a-z0-9_#-]/i.test(e.key)) {
capStart = false;
doSomething(capName);
}
});
function doSomething(text) {
$('#result').html(capName);
}
});
</script>
</head>
<body>
<textarea id="txt"></textarea><br />
<div id="result"></div>
</body>
</html>