使用 jQuery 在 textarea 中匹配和突出显示标签/单词(更改颜色和字体粗细)

用户3833682

我已经textarea在我刚开始打字的时候我加tags我在数组定义所以根据我的情况,应该说in array,但它说not in array这是我的示例代码

$(document).ready(function() {
  var tagsArray = new Array("{full_name}", "{email}", "{company}", "{reg_no}", "{address}", "{city}", "{mobile}", "{rec1_full_name}", "{rec1_email}", "{rec2_full_name}", "{rec2_email}");
  var txtArea = $("textarea#txtarea").val();
  $(document).on("keyup", "#txtarea", function() {
    if ($.inArray(txtArea, tagsArray) != -1) {
      console.log("in array");
    } else {
      console.log("not in array");
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="txtarea" name="txtarea" rows="10" cols="50"></textarea>

我刚开始输入此文本,This is not what we want {email} {rec1_full_name}尽管我的电子邮件标签是在 textarea 中输入的,但它显示了消息,not in array因此如何在输入过程中匹配我的标签以及在匹配标签后我必须将其颜色更改为蓝色并将其字体更改为粗体。

Kamga Simo Junior

我有一个解决方案给你。希望这会有所帮助。

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>

<textarea id="txtarea" name="txtarea" rows="10" cols="50"></textarea>
<button id="submitBtn">Submit</button>
<div id="displayContainer"></div>

<style type="text/css">
  .bold-blue{
    color: blue;
    font-weight: bold;
  }
</style>
<script src="https://code.jquery.com/jquery-3.2.1.js"
        integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
        crossorigin="anonymous"></script>

<script type="text/javascript">
  function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

$(document).ready(function() {
    var tagsArray = new Array("{full_name}", "{email}", "{company}", "{reg_no}", "{address}", "{city}", "{mobile}", "{rec1_full_name}", "{rec1_email}", "{rec2_full_name}", "{rec2_email}");

   $("#txtarea").on('keyup', function(e) {

      var tags = $("#txtarea").val().match("{(.*)}");

   //check whether the entered tag is valid
      for (tag in tags){
         if(!inArray(tags[tag], tagsArray)){
            if(tags[tag][0] == "{" && tags[tag][tags[tag].length-1] == "}"){
               //alert the user that he entered an invalid tag
               alert(tags[tag]+" is not a valid tag.");
            }
         }
      }
    });
   //render the tags blue and bold
     $("#submitBtn").on("click", function(){
      var tags = $("#txtarea").val().match("{(.*)}");
        var text = $("#txtarea").val();
        for (tag in tags){
          if(tags[tag][0] == "{" && tags[tag][tags[tag].length-1] == "}"){
           var newText = text.replace( tags[tag], '<span class="bold-blue">'+tags[tag]+'</span>');
          }
        }
        $("#displayContainer").html( newText );

     });

});
</script>
</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery Mobile textarea:如何使用“行”属性?

来自分类Dev

jQuery使用Enter键提交textarea

来自分类Dev

使用jQuery在TextArea中限制/计数字符数

来自分类Dev

如何使用JQUERY在textarea中添加值

来自分类Dev

使用jquery在keyup上从textarea返回匹配的文本

来自分类Dev

更改jQuery中的textarea行

来自分类Dev

使用JQuery内联编辑Textarea

来自分类Dev

使用jQuery而不是JavaScript如何突出显示textarea中的单行文本

来自分类Dev

在textarea中使用jQuery .text()保持换行

来自分类Dev

如何使用jQuery获取ckeditor的textarea值?

来自分类Dev

使用jQuery修改textarea文本

来自分类Dev

使用jQuery检查Textarea中的重复和有效数字

来自分类Dev

使用jQuery从textarea中删除空白行

来自分类Dev

jquery字符倒数在textarea中

来自分类Dev

从textarea中删除文本后,无法使用jquery将文本复制到textarea

来自分类Dev

jQuery Mobile textarea:如何使用“行”属性?

来自分类Dev

使用CKEditor + jQuery Validation更新textarea

来自分类Dev

使用jQuery将值追加到textarea

来自分类Dev

html <textarea>无法使用Jquery正确重置

来自分类Dev

我无法使用JQuery在<textarea>中编写文本

来自分类Dev

如何使用JQUERY在textarea中添加值

来自分类Dev

使用jquery在keyup上从textarea返回匹配的文本

来自分类Dev

Textarea jQuery中的Linkify

来自分类Dev

使用jquery语法荧光笔突出显示html textarea内的Java代码

来自分类Dev

如何使用jQuery激活textarea?

来自分类Dev

使用JQuery内联编辑Textarea

来自分类Dev

使用jquery和textarea根据属性更改标签名称

来自分类Dev

使用jQuery修改textarea文本

来自分类Dev

使用jquery将文本插入到textarea中

Related 相关文章

热门标签

归档