我的代码有些错误。也许有人可以帮助我。我收到此错误:
SyntaxError: missing formal parameter
function col(10,10){
这是我的代码:
<script type="text/javascript">
function col(<?=$result['seats_count']?>,<?=$result['booked']?>){
if((<?=$result['seats_count']?>><?=$result['booked']?>))$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
};
</script>
答案 0 :(得分:8)
FormalParameterList是逗号分隔的Indentifier tokens列表。
标识符只能以 IdentifierStart :
开头IdentifierStart ::
UnicodeLetter
<强> $ 强>
<强> _ 强>
\ UnicodeEscapeSequence
标识符不能以数字开头,因此10
不是有效的形式参数。在创建col
函数代码时,您的PHP代码必须生成正式的参数名称,每个参数名称都以字母开头(或者其他有效的起始字符之一,如上所述)。
答案 1 :(得分:3)
定义一个函数并调用它是两个独立的行为:
// 1. Define a function
function col(seatsCount, booked) {
if(seatsCount /*some operator*/ booked) {
$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
}
}
// 2. Call the function
col(<?=$result['seats_count']?>, <?=$result['booked']?>);
答案 2 :(得分:1)
你不能将数字作为函数参数传递,但是你可以创建一个自我调用函数来做你想做的事。
(function col(a, b) {
if(a && b)
{
$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
}
})(<?=$result['seats_count']?>, <?=$result['booked']?>);
答案 3 :(得分:1)
对我而言,这意味着我已将参数命名为关键字(在本例中为“default”),因此当我将其重命名为“default2”时,问题就消失了......
答案 4 :(得分:0)
在PHP之后,这个:
<script type="text/javascript">
function col(<?=$result['seats_count']?>,<?=$result['booked']?>){
if((<?=$result['seats_count']?>,<?=$result['booked']?>))$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
};
</script>
看起来像这样:
<script type="text/javascript">
function col(10,10){
if((10,10))$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
};
</script>
你并不清楚自己要做什么。看起来您正在使用PHP来测试值,然后设置CSS属性,如果它们相等?如果是这样,您就不需要某个功能,只有在有意义的时候才能有条件地添加javascript:
<?php
if($result['seats_count']==$results['booked'] {
$('.table.table-bordered.booking tbody tr').css("background-color","#f55");
}
?>