简体   繁体   English

使用jquery更改输入字段值的问题

[英]issue in changing value of input field using jquery

HTML HTML

<div id="wrapper">
<p>This is a basic tag input: 
    <input id="tag1" value="alpha,beta,gamma" />
</p>
</div>
<textarea id="tagdetect"></textarea>

script 脚本

$("#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];
        }
    }
});

what i am trying to achieve 我想要实现的目标

I am trying to add tags(ie values) in that input field when certain keywords are detected 我想在检测到某些关键字时在该输入字段中添加标签(即值)

Working version 工作版

http://jsfiddle.net/7aDak/4839/ http://jsfiddle.net/7aDak/4839/

You have an error in your jQuery syntax. 您的jQuery语法中有错误。

Change the following line 更改以下行

$("#tag1").val()=text[i];

To this: 对此:

$("#tag1").val(text[i]);

设置您应该使用的值:

 $("#tag1").val(text[i])

Function .val() need to have parameters of what you want to append: 函数.val()需要有你想要追加的参数:

var value = $("#tag1").val();
$("#tag1").val(value + text[i]);

I think this is more elegant apart from fixing your errors - assuming you want all the tags in the field 我认为除了修复你的错误之外,这更优雅 - 假设你想要现场的所有标签

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+" ");
  });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM