HTML
<div id="wrapper">
<p>This is a basic tag input:
<input id="tag1" value="alpha,beta,gamma" />
</p>
</div>
<textarea id="tagdetect"></textarea>
脚本
$("#tagdetect").live("keydown",function(){
var textTyped=$("#tagdetect").val();
var text=textTyped.split(" ");
for(i=0;i<text.length;i++){
if(text[i]=="sql"||text[i]=="html"||text[i]=="java"){
$("#tag1").val()=text[i];
}
}
});
我想要实现的目标
我正在尝试在检测到某些关键字时在该输入字段中添加标记(即值)
工作版
答案 0 :(得分:2)
您的jQuery语法中有错误。
更改以下行
$("#tag1").val()=text[i];
对此:
$("#tag1").val(text[i]);
答案 1 :(得分:0)
设置您应该使用的值:
$("#tag1").val(text[i])
答案 2 :(得分:0)
函数.val()需要包含要追加的参数:
var value = $("#tag1").val();
$("#tag1").val(value + text[i]);
答案 3 :(得分:0)
我认为除了修复错误之外,这更优雅 - 假设您想要字段中的所有标记
var types = ["sql","html","java"];
$("#tagdetect").on("keydown",function(){
var textTyped=$("#tagdetect").val();
var text=textTyped.split(" ");
$.each(text,function(_,txt) {
if ($.inArray(txt,types)!=-1) $("#tag1").append(txt+" ");
});
});