我有一个选择框
<select>
<option value="">--Select--</option>
<option id="402883273d3fe2bd013d49db55ca0007" value="~`!@#$%^&*()_+-={}|[]\:" title="~`!@#$%^&*()_+-={}|[]\:">~`!@#$%^&*()_+-={}|[]\:</option>
<option id="402883273b660e71013b6ff04187000d" value="asdasd" title="asdasd">asdasd</option>
<option id="402883273952e67f01395332fd5f0006" value="CC-1" title="CC-1">CC-1</option>
<option id="402883273bdb9824013c14d3c2c30007" value="rto" title="rto">rto</option>
<option id="402883273bdb9824013c14d5decf0008" value="xc" title="xc">xc</option>
</select>
现在,当我加载页面并选择 value = "~`!@#$%^&*()_+-={}|[]\:" 的选项时,它没有被选中。
选择代码是:
var selectedCategory = "<%=StringEscapeUtils.escapeJavaScript(toEditClause.getClauseGroup().getClauseCategory().getName())%>";
console.log("before : "+selectedCategory);
selectedCategory = selectedCategory.replace(/'/g,"\\'");
console.log("After : "+selectedCategory);
jQuery("#clauseCategory_ option[value='"+selectedCategory+"']").attr("selected", "selected");
我认为问题是由于特殊字符造成的,否则如果我选择其他值,例如:“CC-1”.. 它工作正常