我有一个函数,我从mysql表中读取了一组值。我的部分代码是这样的。我需要在这里使用完全php的问题是这是一个名为page的ajax。
echo "<tr id='gridRow'>
<td >$count</td>
<td> <input type='checkbox' onClick=selectAndUpdate('$row1[size]')></td>
<td> {$row1[SerialNo]}</td>
<td> {$row1[InHouseBranding]}</td>
<td> {$row1[BrandCode]}</td>
<td> {$row1[size]}</td>
<td> {$row1[Pattern]}</td>
<td> {$row1[EntryStatus]}</td>
</tr>";
生成的样本行如下所示,您可以注意到这一行为什么相同的值在21060R 22.567中正确显示,但在上一行显示我这样22.567')=“”onclick =“selectAndUpdate('21060R”&gt任何想法?
<tr id="gridRow">
<td>1</td>
<td>
<input type="checkbox" 22.567')="" onclick="selectAndUpdate('21060R">
</td>
<td> EA12</td>
<td> BOR1</td>
<td> GY</td>
<td> 21060R 22.567</td>
<td> HMG 2020</td>
<td> New</td>
</tr>
答案 0 :(得分:0)
你需要引用你的js并转义那些引号。
<td> <input type='checkbox' onClick=\"selectAndUpdate('$row1[size]')\"></td>
如果你写这样复杂的html,最好使用像sprintf
或strtr
这样的字符串操作函数:
$html = '<tr id="gridRow">
<td >%s</td>
<td> <input type="checkbox" onClick="selectAndUpdate(\'%s\')"></td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>';
echo sprintf($html,
$count,
$row1[size],
$row1['SerialNo'],
$row1['InHouseBranding'],
$row1['BrandCode'],
$row1['size'],
$row1['Pattern'],
$row1['EntryStatus']
);
但仅限于你在函数或类的上下文中。如果您在模板的上下文中直接输出html,那么最好来回切换:
<tr id="gridRow">
<td><?php echo $count ?></td>
<td> <input type="checkbox" onClick="selectAndUpdate('<?php echo $row1['size'] ?>')"></td>
<td><?php echo $row1['SerialNo']</td>
<td><?php echo $row1['InHouseBranding'] ?></td>
<td><?php echo $row1['BrandCode'] ?></td>
<td><?php echo $row1['size'] ?></td>
<td> <?php echo $row1['Pattern'] ?></td>
<td><?php echo $row1['EntryStatus'] ?></td>
</tr>
答案 1 :(得分:0)
生成的代码似乎与echo
生成的代码无关,请注意echo
编写type='checkbox'
,而在输出中type="checkbox"
(注意引号) 。确保你怀疑正确的回声是错误的。