在我的控制器代码中包含附加形式的html代码。当我将参数传递给onclick函数时,我没有在相应的函数中获取参数。
控制器
foreach ($cart as $item){
$row_id = $item['rowid'];
// $count++;
$output.='
<tr>
<td>'.$item['name'].'</td>
<td>'.$item['price'].'</td>
<td>'.$item['qty'].'</td>
<td>'.number_format($item['subtotal'],2).'</td>
<td> <a href="" onclick="remove("'.$row_id.'")" class="item-remove"><i class="zmdi zmdi-close"></i></a></td>
</tr>
';
}
脚本
function remove(row_id)
{
alert(row_id);
}
Onclick功能remove(),警报无法正常工作
答案 0 :(得分:4)
您的旧代码正在生成
<td> <a href="" onclick="remove("1")" class="item-remove"><i class="zmdi zmdi-close"></i></a></td>
这是一个不正确的HTML
只需替换此
onclick="remove("'.$row_id.'")"
用这个
onclick="remove(\''.$row_id.'\')"
答案 1 :(得分:1)
onclick="remove("'.$row_id.'")"
将导致:
onclick="remove("123")"
看哪里出错了? Onclick现在只包含删除部分(因为双引号会终止onclick内容。