特定的id没有传递给ajax

时间:2013-11-19 13:54:09

标签: javascript php jquery ajax

这是我的代码的一部分,当用户点击按钮时,它会从数据库中检索有关id的数据(即我没有提交net_id)我也收到错误

TypeError: $(...).attr(...) is undefined


arr = $(this).attr('class').split( " " );

HTML

<td class="edit2 '.$rows["net_id"].' "> <input type="button" id="edit2" value="R" /> </td>

的Ajax

<script type="text/javascript">

 $(document).ready(function() {

    $("#edit2").click(function() {       

         arr = $(this).attr('class').split( " " );

         var clientid=document.getElementById("client").value;         

      $.ajax({    //create an ajax request to load_page.php
        type: "POST",
        url: "clientnetworkpricelist/display.php",    
        data: "clientid="+ clientid+"&rowid="+arr[1],       

        success: function(response){                    
            $("#responsecontainer").html(response); 
            //alert(response);
        }

    });
});
});

</script>

Display.php的

<?php
$dbHost = 'localhost'; // usually localhost
$dbUsername = 'xxxxxxx';
$dbPassword = 'xxxxxxxxxx';
$dbDatabase = 'fms';
$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");

$client_id=$_POST['clientid'];

        $rownum=$_POST['rowid'];  
        $sql="select status from $client_id WHERE net_id = ".$rownum."";

         print $sql;

        mysql_query($sql);  

?>

3 个答案:

答案 0 :(得分:3)

您正在尝试获取$(this)的类,这是您点击的按钮。但那个按钮没有课程。它是你点击的按钮的父级,你想要这些类。

更改此行:

arr = $(this).attr('class').split( " " );

到此:

arr = $(this).parent().attr('class').split( " " );

答案 1 :(得分:0)

您在行下面有更改:

arr = $(this).attr('class').split( " " );

arr = $(this).parent().attr('class').split( " " );

答案 2 :(得分:0)

问题出在以下几行:

arr = $(this).attr('class').split( " " );

您正在尝试获取单击的按钮的class属性,因此无法找到所需的类。相反,您需要做的是转到按钮的父级,即td并从中获取类属性。方法如下:

arr = $(this).parent().attr('class').split( " " );