【发布时间】:2016-03-29 06:40:37
【问题描述】:
我有 PHP 代码生成一排按钮供用户单击,每个按钮对应于学生的成绩。 PHP 还生成所需的 jquery,以使按钮单击以随机选择具有该年级的学生:
echo "<div id='targetGradeButtons' class='testing'>Randomly select student with target grade: " ;
foreach ($uniquetarget as $i => $target) {
echo "<button id='target-$target'>$target</button> " ; // Generate button for randomly selecting students with certain target
// Create jquery to handle button clicks
echo "<script>
$('#target-$target').click(function(){
randomName('target', '$target');
});
</script>" ;
}
echo "</div>" ;
这适用于大多数年级。但是,它不适用于 A* 成绩。当我将 A* 硬编码为等级时,它的随机名称选择器部分工作正常,所以问题在于上面的代码未能成功选择 #target-A* 按钮。我相信这是因为 * 是一个特殊字符。我该如何解决这个问题?
使用 PHP 函数自动添加转义字符(反斜杠),似乎没有帮助。
【问题讨论】:
-
在 ID 中加入特殊字符是个坏主意。它们是合法的,但会使在 CSS 和 jQuery 选择器中引用它们变得更加复杂。我建议您先将
$target转换为其他格式。 -
其他格式是什么意思?以某种方式对其进行编码?
标签: php jquery jquery-selectors