$('#id').click(function(){
(这个id不是固定的)也就是 点了按钮1 出现id 1 的数据 不刷新情况下  点按钮2 出现 id 2的数据
按钮像下面的<input type="button" value="按钮1" id="4456464"><input type="button"  value="按钮2" id="45645645"><input type="button" value="按钮3" id="45645645">
if ($_GET['act'] == $id){
echo $id.'测试中';
exit();
}

解决方案 »

  1.   

    如果全部是按钮类型控件的话,代码如下:
    var ids = [];
    $(":input[type='button']").each(function(){
        ids.push(this.id);
    });//再将ids的值join并赋值给一个隐藏域控件,然后再通过表彰提交给PHP
      

  2.   

    请求完善下<script>
    $(document).ready(function(){
    var url='?act=<?php echo $id;?>'
    $('#1').click(function(){
    $.post(url,'',function(msg){
    var myObject = eval('(' + msg + ')');  
    var str1='';
    var str2='';
    var len=myObject.length;
    for(i=0;i<len;i++){
    str+='<tr><td>'+myObject[i].name+'#'+myObject[i].file_size+'#'+myObject[i].file_name+'</td><td><br>';
    }$('#rstable1').html(str1);})})})  
    </script>
      

  3.   

    我把 #1 改成 :input[type='button']  结果按哪个按钮 都输出一样的结果啊、 ID 等于没用了
      

  4.   

    代码改为:
    <script>
    $(document).ready(function(){
    var url='?act=<?php echo $id;?>'
    $('#:input[type='button'][id]').each(function(){this.click(function(){
    $.post(url,'',function(msg){
    var myObject = eval('(' + msg + ')');  
    var str1='';
    var str2='';
    var len=myObject.length;
    for(i=0;i<len;i++){
    str+='<tr><td>'+myObject[i].name+'#'+myObject[i].file_size+'#'+myObject[i].file_name+'</td><td><br>';
    }$('#rstable1').html(str1);})})
    })
    })  
    </script>
      

  5.   

    var url="?act=input[type='button'][id]"
    问下这个怎么写?
      

  6.   

    我的意思是 点了按钮1(id=1) 出现 ?act=1的数据  按钮2 出现?act=2的数据
    前面可能表达不清楚 ?act=1的数据 的数据是json格式
      

  7.   

    还是不是很明白确切问题是啥,前面的问题 skyaspnet 应该给你解答了吧
    这个不会写是吗?
    var url="?act=input[type='button'][id]"var url="?act=input[type='button']['<?php echo $id;?>']";是不是要这个呢?还是说 input 里的id 循环不知道怎么写?
      

  8.   

    <?php
    $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]';
    if ($_GET['act'] == 123){
    echo $aa;
    exit();
    }
    $bb = '[{"id":546,"name":"ccc"},{"id":6457,"name":"ddd"},{"id":73,"name":"eee"}]';
    if ($_GET['act'] == 456){
    echo $bb;
    exit();
    }
    ?>
    <script language="JavaScript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    var url="?act=input[type='button'][id]"
    $("#:input[type='button'][id]").click(function(){
    $.post(url,'',function(msg){
    var myObject = eval('(' + msg + ')');  //关键的一步,msg 为返回的类型为字符串,转化为json 对象
    var str='';
    var len=myObject.length;
    for(i=0;i<len;i++){
    str+='<tr><td>'+myObject[i].id+'#'+myObject[i].name+'</td><td><br>';
    }$('#rstable').html(str);
    })})})  
    </script>
    <input type="button" value="按钮1" id="123">
    <input type="button" value="按钮2" id="456">
    <div id="rstable"></div>input[type='button'][id]是id的话可以用   但是按上面改的  不出现数据
      

  9.   

    你的意思是 点击 按钮1 传递 $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]'; 这个json 内容到指定页面是吗?点击按钮2 传递 $bb = '[{"id":546,"name":"ccc"},{"id":6457,"name":"ddd"},{"id":73,"name":"eee"}]';
      

  10.   


    那么 你的这个部分
    <input type="button" value="按钮1" id="123">
    <input type="button" value="按钮2" id="456">value 这里自己是否已经跟
    $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]';
    $bb = '[{"id":546,"name":"ccc"},{"id":6457,"name":"ddd"},{"id":73,"name":"eee"}]';
    关联好了或者做好了循环输出之类的?
      

  11.   

    9楼就是代码啊。
    点了按钮1(id=1) 出现 ?act=1的数据 按钮2 出现?act=2的数据
      

  12.   


    你先告诉我这个是什么意思
    $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]';
    if ($_GET['act'] == 123){
    echo $aa;
    exit();
    }输出$aa 之后就 exit.你测试过你的代码没有呢,你是PHP不懂呢还是js/jquery不懂?
      

  13.   

    var url="?act=123"这个只是个调用啊?act=123的数据就是 $aa
      

  14.   

    那么你告诉我你是如何测试的
    在地址输入 localhost/xxx.php?act=123 这样么?那么你没看到这个页面输出json后就直接exit了?那你后面的js怎么有再输出?这样的话...这个明显就不对嘛.你是打算act=123 将 $aa数组的内容赋值给 按钮1 当点击按钮1 的时候 div rstable 得到提交的代码显示
    是不是?
      

  15.   


    <?php
    $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]';
    if ($_GET['act'] == 123){
    echo $aa;
    exit();
    }
    $bb = '[{"id":546,"name":"ccc"},{"id":6457,"name":"ddd"},{"id":73,"name":"eee"}]';
    if ($_GET['act'] == 456){
    echo $bb;
    exit();
    }
    ?>
    <script language="JavaScript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    var url="?act=123"
    $("#123").click(function(){
    $.post(url,'',function(msg){
    var myObject = eval('(' + msg + ')');  //关键的一步,msg 为返回的类型为字符串,转化为json 对象
    var str='';
    var len=myObject.length;
    for(i=0;i<len;i++){
    str+='<tr><td>'+myObject[i].id+'#'+myObject[i].name+'</td><td><br>';
    }$('#rstable').html(str);
    })})})  
    </script>
    <input type="button" value="按钮1" id="123">
    <input type="button" value="按钮2" id="456">
    <div id="rstable"></div>
    这个只是按钮1的   是完全正常的 把var url="?act=123"
    $("#123").click(function(){123改成456点按钮2是直接出现?act=456的数据的
    所以要改成通用的 
      

  16.   

    算了不管你那么多了就你现在的代码修改如下即可<?php
    $aa = '[{"id":1221,"name":"aaa"},{"id":45646,"name":"bbb"},{"id":9789,"name":"ccc"}]';
    if ($_GET['act'] == 123){
    echo $aa;
    exit();
    }
    $bb = '[{"id":546,"name":"ccc"},{"id":6457,"name":"ddd"},{"id":73,"name":"eee"}]';
    if ($_GET['act'] == 456){
    echo $bb;
    exit();
    }
    ?>
    <script
    language="JavaScript" type="text/javascript"
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){$("#:input[type='button'][id]").click(function(){
    var url="?act="+this.id;
    $.post(url,'',function(msg){
    var myObject = eval('(' + msg + ')');  //关键的一步,msg 为返回的类型为字符串,转化为json 对象
    var str='';
    var len=myObject.length;
    for(i=0;i<len;i++){
    str+='<tr><td>'+myObject[i].id+'#'+myObject[i].name+'</td><td><br>';
    }$('#rstable').html(str);
    })})})  
    </script>
    <input type="button" value="按钮1" id="123">
    <input type="button" value="按钮2" id="456">
    <div id="rstable"></div>
      

  17.   

    恩 就是这个意思了 测试可用 前面的可以了没问题现在剩下这个问题了
    if ($_GET['act'] == this.id){
        echo this.id
        }
    ?>
    大概是这个意思 这样的怎么搞?
      

  18.   

    if ($_GET['act'] == this.id){
    echo this.id
    }
    ?>这样不用搞N多个
    if ($_GET['act'] == 123){
    echo 123
    if ($_GET['act'] == 456){
    echo 456
    if ($_GET['act'] == 789){
    echo 789灵活很多
      

  19.   

    如果很多就入数据库吧 从数据库匹配返回结果来输出。要不然你就将你的json 生成规律根据getid写成function来输出.
      

  20.   

    if ($_GET['act'] == this.id){
    echo this.id
    }
    ?>这个可以搞定不?
      

  21.   

    这个我上面已经告诉你咯 要么就只能这么自己判断了。
    switch ($_GET['act']){
    case xxx:
    xxxxx;
    break;
    case xxx:
    xxxx;
    break;
    }
    ....