Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php文件中获取td值并发送回_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 在php文件中获取td值并发送回

Javascript 在php文件中获取td值并发送回,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,当点击链接时,我面临一个获取td值的问题 search_code.php echo "<table class='table table-hover'>"; echo "<tr><th>Institute ID</th><th>Institute Name</th><th>State</th><th>District</th><th>City</th>&

当点击链接时,我面临一个获取td值的问题

search_code.php

echo "<table class='table table-hover'>";
echo "<tr><th>Institute ID</th><th>Institute Name</th><th>State</th><th>District</th><th>City</th><th>General Seats</th><th>Reserved Seats</th></tr>";

// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<tr><td id='instid'>".$row["collegeUniqueId"]."</td><td id='instname'><a href='#' onClick='getCourses(".$row["collegeUniqueId"].");'>".$row["name"]."</a></td><td>".$row["state"]."</td><td>".$row["district"]."</td><td>".$row["city"]."</td><td>".$row["openSeat"]."</td><td>".$row["reservedSeat"]."</td></tr>";
}

echo "</table>";
和在search.php中

<script>
    $(document).ready(function(){
        $('#search').click(function(e){
            e.preventDefault();
            $.ajax({
                type: 'POST',
                url: 'search_code.php?state=' + $('#state').val() + '&district=' + $('#district').val(),
                success: function(institute){
                    $('#institute').html(institute);
                }
            });
        });

        function getCourses(id) {
            $id = id;
            $.ajax({
                type: 'POST',
                url: 'courses.php?courseid=' + id,
                success: function(courses){
                    $('#courses').html(courses);
                }
            });
        }
    });
</script>

您尚未显示生成的HTML,但如果ID值不是数字,则需要将其置于引号中:

echo "...onClick='getCourses(\"".$row["collegeUniqueId"]."\");'>...";
// --------------------------^^---------------------------^^
旁注:假设结果集中有多行,您还需要处理循环创建的重复id值


旁注2:您正在成为getCourses函数的牺牲品:您从未声明$id变量。您可以将其删除,但不用于任何用途。

HTML中的ID必须是唯一的,不能有多个具有相同ID的元素

至少有两种方法可以解决此问题:

使用class属性和data id属性获取特定行的id 在PHP中,可以使用行id生成id
不能有多个具有给定id值的DOM元素。您的循环正在创建具有相同id的多个元素,这是无效的。虽然这是事实,但令人惊讶的是,如果您查看代码,这不太可能是实际问题,因为OP似乎至少没有尝试使用这些id,与问题中的代码无关。是的,还有更多的问题,例如在加载AJAX后绑定事件或阻止默认事件行为。