我已经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
因此如何在输入过程中匹配我的标签以及在匹配标签后我必须将其颜色更改为蓝色并将其字体更改为粗体。
我有一个解决方案给你。希望这会有所帮助。
<!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] 删除。
我来说两句