如何使用jQuery检测项目是否出现在新行(文本区域内)



我想从文本区域的内容创建一个数组。文本区域包含一个可变的名称列表(每个名称只有一个单词,没有空格)。

到目前为止,我有以下问题,我在这里唯一的问题是,单个名称没有用逗号分隔,而是只出现在单独的行中,每行一个名称,我不知道如何检测到这一点。此文本区域的内容是手动创建的,因此用户可以在每个名称后按Enter键,也可以从Excel表中复制/粘贴名称列表。

我怎样才能做到这一点?我想我唯一需要改变的就是split(',')

我的jQuery:

var arrUsers = $('#ntid').val().split(',');
var xmlUsers = '<users>';               
    for(i=0; i<arrUsers.length; i++) {
        xmlUsers += '<ntid>' + arrUsers[i] + '</ntid>';
    }
    xmlUsers += '</users>';

示例HTML(缩写):

<textarea rows="7" class="form-control" id="ntid">
    name1
    name2
    name3
</textarea>

您可以使用n而不是逗号,并修剪拆分的值。

var arrUsers = $('#ntid').val().split('n');
var xmlUsers = '<users>';               
for(i=0; i<arrUsers.length; i++) {
  var val = $.trim(arrUsers[i]);
  //check if there is any text after trimming
  if(val != "") {
      xmlUsers += '<ntid>' + val + '</ntid>';
  }
}
xmlUsers += '</users>';
alert(xmlUsers);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea rows="7" class="form-control" id="ntid">
    name1
    name2
    name3
</textarea>

最新更新