使用jquery在表单中转义双引号

时间:2017-04-14 23:40:16

标签: jquery html

我正在使用jquery在下拉菜单中附加选项,该菜单访问数据库以输出信息作为每个选项的值。数据库中的某些结果存储英寸("),因此在附加选项的值时,value标签会提前关闭。 下拉选项在表单中使用,因此当使用$ _POST从选项中检索值时,会显示过早切断的字符串。

我用以下代码添加反斜杠以逃避双引号,但这似乎没有帮助:

.append('<option value="' + (data['GmWt_Desc1'].substr(data['GmWt_Desc1'].indexOf(' ')+1)).replace(/"/g, '\\"') + '">' + data['GmWt_Desc1'].substr(data['GmWt_Desc1'].indexOf(' ')+1) + '</option>')
.val(data['GmWt_Desc1'])

html的改动:

<option value="pat,  (1\" sq,="" 1="" 3\"="" high)"="">pat,  (1" sq, 1/3" high)</option>

使用$ _POST进行检索时,会给出以下内容: 排列 (     [0] =&gt;轻拍,(1 \ ) 我试图用$ _POST检索的内容:

pat,  (1" sq, 1/3" high

如何检索整个说明?

1 个答案:

答案 0 :(得分:1)

我使用jQuery的内置函数来设置属性。他们会正确地逃避文本。

var data = 'pat,  (1" sq, 1/3" high';

// create an option and set its attributes
$("<option></option>").appendTo("#mySelect").text(data).val(data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="mySelect">
</select>