通过&;拆分字符串;nbsp;。。。。。javascript/jquery
我正在使用引导选择器,我需要一个分隔符来分隔所选的文本。出现此问题的原因是,当用户在引导选择中选择多个选项时,中的文本不会被分隔符分隔,如值:通过&;拆分字符串;nbsp;。。。。。javascript/jquery,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在使用引导选择器,我需要一个分隔符来分隔所选的文本。出现此问题的原因是,当用户在引导选择中选择多个选项时,中的文本不会被分隔符分隔,如值: <select class="selectpicker" multiple> <option value=1>Mustard</option> <option value=2>Ketchup</option> <option value=3&g
<select class="selectpicker" multiple>
<option value=1>Mustard</option>
<option value=2>Ketchup</option>
<option value=3>Relish</option>
</select>
$('.selectpicker').val();//outputs '1,2'
用户选择芥末和番茄酱。要获取值,请执行以下操作:
<select class="selectpicker" multiple>
<option value=1>Mustard</option>
<option value=2>Ketchup</option>
<option value=3>Relish</option>
</select>
$('.selectpicker').val();//outputs '1,2'
请注意逗号分隔符。但我也需要文本:
$('.selectpicker option:selected').text(); //outputs 'MustardKetchup
请注意,没有分隔符。因此,我添加了一个不可见的分隔符,如下所示:
<option value=1>Mustard </option>
<option value=2>Ketchup </option>
<option value=3>Relish </option>
但当我尝试拆分字符串时,这不起作用
var text = $('.selectpicker option:selected').text(); //outputs 'Mustard Ketchup
var splitstr = text.split(' '); //does not split by 4 spaces only has an array of 1
这也不是:
var splitstr = text.split(' '); //does not split by 4 spaces only has an array of 1
//kinda figured this wouldnt work,but took a shot anyway
我选择了4个空格,因为我的数据中有逗号,所以逗号分隔符不起作用。在javascript或jquery中,如何将字符串拆分为4个空格()
多谢各位
在javascript或jquery中,如何将字符串拆分为4个空格()
使用正则表达式拆分:
var splitstr = text.split(/\s{4}/);
非中断空格不是我们键入的空格。它是
String.fromCharCode(160)
。你会想把它和其中四个一起吐的。如果您正在执行$('.selectpicker option:selected').html()
(这是正常的,因为
元素仅限于它们可以包含的元素),那么您可以使用四个
字符串作为分隔符
以下是我推荐的做法:
var text = $('.selectpicker option:selected').text();
var nbsp = String.fromCharCode(160);
var splitstr = text.split(nbsp + nbsp + nbsp + nbsp);
与其拆分字符串,不如尝试通过迭代$('.selectpicker option:selected')将单独的字符串提取到数组中,如下所示:
var arr = [];
$('.selectpicker option:selected').each(function() {
arr.push( $( this ).text() );
});
通过循环遍历每个选定选项并将值添加到数组中,您无需麻烦地将空格分隔符添加到
值中
var selected = [];
$('.selectedpicker option:selected').each(function() {
selected.push($(this).text());
}
[编辑]
@Boundforgloy Great:)我喜欢这种方法。尽管我很高兴我学会了用正则表达式按空格分割字符串是的,正则表达式确实是一项值得学习的技能——但源代码中的所有这些都会让我非常恼火。