IE7和单引号中的jquery问题

时间:2015-08-25 14:51:59

标签: javascript jquery html

我正在根据其value属性从一组单选按钮中选择一个单选按钮。除非value属性包含单引号,否则一切都很好。我在绑定值之前对其进行编码,因此它在html标记中不会引起任何问题。但是jquery在尝试进行选择时没有工作。 问题仅出在IE7中。

单选按钮标记:

<input type='radio' name='radName' value='value1'>
<input type='radio' name='radName' value='value2'>
<input type='radio' name='radName' value='value3'>

Jquery选择单选按钮:

myVal = funToGetSomeValue();
if ($('input[name=radName][value="' + myVal + '"]').length) {
  $('input[name=radName][value="' + myVal + '"]').prop('checked', true);
}

使用 HtmlEncode 编码后面代码中的特殊字符(C#):

System.Web.HttpUtility.HtmlEncode(EmailStr);

此处一切都很好,除非 myVal 包含带单引号的值。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在将字符串插入jquery选择器之前,需要转义字符串中的任何引号。为此,使用双反斜杠转义所有单引号:

myVal.replace(/\'/gi, "\\\\'")