我在我的angularJS项目中使用jQuery tags input library。在前端,我可以添加标签,但当我检索输入的文本时。它在值之间包含空格。我试图对字符串变量使用replace函数,但它不起作用。
HTML格式

<input id="news_tags" data-js-tags-input="" type="text" name="example-tags1" value="" ng-model="news.tags"
class="form-control ng-pristine ng-untouched ng-valid ng-empty" data-tagsinput-init="true" style="display: none;">

<div id="news_tags_tagsinput" class="tagsinput" style="width: 100%; min-height: 36px; height: 36px;">
  <span class="tag">
    <span>tag1&nbsp;&nbsp;</span>
    <a href="#" title="Removing tag">x</a>
  </span>
  <span class="tag">
    <span>tag2&nbsp;&nbsp;</span>
    <a href="#" title="Removing tag">x</a>
  </span>
  <div id="news_tags_addTag">
    <input id="news_tags_tag" value="" data-default="Add tag" style="color: rgb(102, 102, 102); width: 68px;">
  </div>
  <div class="tags_clear"></div>
</div>

控制器
var tags  = jQuery("#news_tags_tagsinput .tag span").text().trim();
alert((typeof tags)); // String
alert(tags.replace(" ", ",")); // tag1 tag2
alert(tags.replace(" ", ",")); // tag1 tag2
alert(tags.replace("&nbsp;", ",")); // tag1 tag2
alert(tags.replace("&nbsp;&nbsp;", ",")); // tag1 tag2

输出
tag1 tag2

而不是
tag1,tag2

最佳答案

更改为模式拆分字符串

var tags  = jQuery("#news_tags_tagsinput .tag span").text().trim();

alert(tags.split(/\s+/));

regex的意思是
\s = find whitespace character
+ = one or more characters

关于javascript - 带有替换的jQuery输入文本不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44732770/

10-10 00:27
查看更多