当我从下拉列表中选择一个名称时,它有一个撇号示例:布莱恩·奥康纳
我的JS代码将带来布莱恩O和撇号得到削减后的其余字符。
我的原始JS代码来加载数据--
else if(newClaimCols[key]== "assigned_to_full_name_primary") {
var selectedText =$("#claim" + newClaimCols[key] + "filter").val()
//Brian O
if (selectedText!==null && selectedText!=="" ) {
var temp1 = $("#claim" + newClaimCols[key] + "filter").val();
for (var key in temp1) {
temp.push(temp1[key]);
}
}
}
val()只选择撇号前面的文本
第二个案例我尝试了. text()请参考下面的代码
else if (newClaimCols[key] == "assigned_to_full_name_primary") {
var selectedText = $("#claim" + newClaimCols[key] + "filter option:selected").text();//Brian O'Connar
if (selectedText!==null && selectedText!=="" ) {
var temp1 =$("#claim"+newClaimCols[key]+ "filter option:selected").text();
temp.push(temp1);
}
}
在这种情况下,我得到布赖恩奥康纳,但如果我选择多个名字布赖恩奥康纳和Nishinoya'O在下拉菜单中,它会像
例如:Brian O'ConnarNishinoya 'O
不知道该怎么处理
请让我知道我如何才能完全加载与撇号或第二种情况下的解决方案的名称。文本()当多个名称被选中。
2条答案
按热度按时间jm2pwxwz1#
要正确处理撇号并保留完整的名称,可以使用JavaScript的
encodeURIComponent()
函数对选定的文本进行编码,然后将其推入temp
数组。这将确保撇号(和任何其他特殊字符)被正确转义。通过使用encodeURIComponent()
对所选文本进行编码,您可以安全地将其作为参数传递或将其存储在数组中,而不会出现任何问题。当你以后需要用到这个值的时候,你可以用decodeURIComponent()
来解码。我把它加到代码里了,希望这样能解决你的问题。3mpgtkmj2#
我清理了我的HTML选项标记从这个
到这个
现在我从html到JS的值接受撇号