我已经使用jquery创建了一个切换按钮,但我需要传递$id
,以便它可以在toggle_visibility.php
中执行mysql。
如何从我的<A>
代码传递变量?
<a class="toggleVisibility">Yes</a>
<script>
$("a.toggleVisibility").toggle(
function () {
$(this).html("No");
},
function () {
$.ajax({
type: "POST",
url: "toggle_visibility.php",
data: "id<?=$id; ?>",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
$(this).html("Yes");
}
);
</script>
答案 0 :(得分:4)
看起来$id
是一个PHP变量,所以当服务器生成你的页面时,它将被打印在正确的位置。
但是你在字符串中缺少=
:
data: "id=<?= $id ?>",
如果这不是您想要的,您必须澄清$id
的来源。
<强>更新强>
您必须以某种方式在表格行中集成ID。例如。您可以为链接设置为rel
属性:
<tr>
<td class="date"><?php print $row['date']; ?></td>
<td><?php print $row['title']; ?></td>
<td class="visible">
<a class="toggleVisibility" rel="<?php echo $row['id']; ?>">Toggle</a>
</td>
</tr>
然后你可以使用jQuery的attr()
方法在函数中获取它:
$("a.toggleVisibility").toggle(
function () {
$(this).html("No");
},
function () {
$.ajax({
type: "POST",
url: "toggle_visibility.php",
data: "id=" + $(this).attr('rel'),
success: function(msg){
alert( "Data Saved: " + msg );
}
});
$(this).html("Yes");
}
);