我正在使用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
如何检索整个说明?
答案 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>