echo HTML 包含来自 MySQL 的数据(空白)
echo HTML that contains data from MySQL (whitespace)
我正在尝试输出与 JQuery
一起使用的动态 table
为了摆脱“”标志,我尝试声明另一个变量:
$rowname = $row["name"];
然后将该行名称保存在数据气泡中,供 JQuery 使用。
echo '<tr id='.$current_row.' data-bubble={"part":"'.$rowname.'"}>';
JQuery部分:
var bubData=jQuery.parseJSON($(this).attr("data-bubble"));
console.log(bubData);
$("#bubbleTable b.part").text(bubData.part);
所以当我有一个 'name' 条目(NoSpace)里面没有 space 时,一切正常:
<tr id="1" data-bubble={"part":"NoSpace"}>
但是只要名称包含 space(是的 Space),这就是我得到的:
火狐浏览器:
<tr id="2" Space"}="" data-bubble={"part":"Yes">
IE:
<tr id="2" data-bubble='{"part":"Yes' Space"}="">
必须有一个简单的方法来解决这个问题,但显然我的专业英语还不如自己找到它。 (现在已经搜索了很长时间。我猜不是正确的东西。)
转义 tr 字符串:
echo '<tr id='.$current_row.' data-bubble="{\"part\":\"'.$rowname.'\"}";
您忘记了数据气泡中的双引号,并且浏览器以不同的方式解释内容。
我建议您使用 printf/sprintf 来正确地格式化字符串,而不用使用双引号:
printf('<tr id="%d" data-bubble="{\'part\':\'%s\'}">', $current_row, $rowname);
输出:
<tr id="1" data-bubble="{'part':'Yes Space'}>"
(基于评论)尝试反转引号以避免出现问题:
printf("<tr id='%d' data-bubble='{\"part\":\"%s\"}'>", $current_row, $rowname);
输出:
<tr id='1' data-bubble='{"part":"Yes Space"}'>
在斜线后使用单引号
像'\
我正在尝试输出与 JQuery
一起使用的动态 table为了摆脱“”标志,我尝试声明另一个变量:
$rowname = $row["name"];
然后将该行名称保存在数据气泡中,供 JQuery 使用。
echo '<tr id='.$current_row.' data-bubble={"part":"'.$rowname.'"}>';
JQuery部分:
var bubData=jQuery.parseJSON($(this).attr("data-bubble"));
console.log(bubData);
$("#bubbleTable b.part").text(bubData.part);
所以当我有一个 'name' 条目(NoSpace)里面没有 space 时,一切正常:
<tr id="1" data-bubble={"part":"NoSpace"}>
但是只要名称包含 space(是的 Space),这就是我得到的: 火狐浏览器:
<tr id="2" Space"}="" data-bubble={"part":"Yes">
IE:
<tr id="2" data-bubble='{"part":"Yes' Space"}="">
必须有一个简单的方法来解决这个问题,但显然我的专业英语还不如自己找到它。 (现在已经搜索了很长时间。我猜不是正确的东西。)
转义 tr 字符串:
echo '<tr id='.$current_row.' data-bubble="{\"part\":\"'.$rowname.'\"}";
您忘记了数据气泡中的双引号,并且浏览器以不同的方式解释内容。
我建议您使用 printf/sprintf 来正确地格式化字符串,而不用使用双引号:
printf('<tr id="%d" data-bubble="{\'part\':\'%s\'}">', $current_row, $rowname);
输出:
<tr id="1" data-bubble="{'part':'Yes Space'}>"
(基于评论)尝试反转引号以避免出现问题:
printf("<tr id='%d' data-bubble='{\"part\":\"%s\"}'>", $current_row, $rowname);
输出:
<tr id='1' data-bubble='{"part":"Yes Space"}'>
在斜线后使用单引号 像'\