我正在尝试制作一个过滤器,它有很多选项列在过滤器框的顶部,现在,我正在尝试添加国家,我决定使用正则表达式。但我无法让它工作,由于某种原因它在字符串的中间而不是开头替换。
JS代码:
function countryCheck(object) {
var filter = document.getElementById("search_filter");
var re = new RegExp("<b>Location<\/b>:\s[a-zA-Z\s]+\s\|\s");
filter.innerHTML = filter.innerHTML.replace(re, ("<b>Location</b>: " + object.value.replace(" ", "") + " | "));
}
HTML 代码:
<div id='search_filter'><b>Filter</b>: <b>Location</b>: Anywhere | <b>Player Slots</b>: >=0/>=0</div>
<br />
<select class='select' style='width:100%;' onchange='countryCheck(this);'>
<option>Anywhere</option>
<option>Europe</option>
<option> Sweden</option>
<option> Germany</option>
<option> United Kingdom</option>
<option> France</option>
<option>North America</option>
<option> Canada</option>
<option> United States</option>
<option> Mexico</option>
</select>
jsFiddle 显示问题所在:jsFiddle
我正在尝试使它替换当前<b>Location</b>: [some country] |
的<b>Location</b>: [some other country] |