Jquery Toggle&传递数据

时间:2010-04-18 09:41:58

标签: javascript jquery toggle

我已经使用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>

1 个答案:

答案 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");
     }
);