Javascript 一页多个java脚本错误

Javascript 一页多个java脚本错误,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有这段代码,它最初是有效的: <th scope="row"> <select name="Date" required class="form-control" id="Date"> <option value="">Please Select Date</option> <?php $sql2="SELECT * FROM clinic.appoint GROUP BY date ORDER BY date AS

我有这段代码,它最初是有效的:

<th scope="row">
    <select name="Date" required class="form-control" id="Date">
    <option value="">Please Select Date</option>
    <?php $sql2="SELECT * FROM clinic.appoint GROUP BY date ORDER BY date ASC";
    $result2 = mysqli_query($con, $sql2) or die($sql2."<br/><br/>".mysql_error());
    while($rows2=mysqli_fetch_array($result2)){?>
        <option value="<?php echo $rows2['date'] ?>"><?php echo $rows2['date'] ?></option>
    <?php } ?>
    </select>
</th>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">   
$(document).ready(function(){
    $("#Date").change(function(){
        var seldate =$(this).val();
        display_data(seldate);
    });

    // This is the function...
    function display_data(seldate) {

        $("#scheduleDate").html(seldate);
        var dataString = 'seldate='+ seldate;
            $.ajax({
            type: "POST",
            url: "getdata.php",
            data: dataString,
            cache: false,
            success: function(data) {
                $("#Schedule").html(data);
            } 
        });

    }
    // Now here is the real code for retaining your Date...
    <?php
    if (!empty($_GET['date'])) {
        ?>
    display_data('<?php echo $_GET["date"]; ?>')
        <?php
    }
    ?>
    document.getElementById('Date').value = '<?php echo @$_GET["date"]; ?>';   
});

$(document).ready(function(){
    $("#Name2").change(function(){
        var selname =$(this).val();
        display_name(selname);
    });

    // This is the function...
    function display_name(selname) {

        $("#scheduleName").html(selname);
        var dataString = 'selname='+ selname;
            $.ajax({
            type: "POST",
            url: "getdatabyname.php",
            data: dataString,
            cache: false,
            success: function(data) {
                $("#Schedule2").html(dataname);
            } 
        });

    }
    // Now here is the real code for retaining your Date...
    <?php
    if (!empty($_GET['name'])) {
        ?>
    display_name('<?php echo $_GET["name"]; ?>')
        <?php
    }
    ?>
    document.getElementById('Name2').value = '<?php echo @$_GET["name"]; ?>';

});   
</script>

请选择日期
$(文档).ready(函数(){
$(“#日期”)。更改(函数(){
var seldate=$(this.val();
显示_数据(seldate);
});
//这是函数。。。
功能显示数据(seldate){
$(“#scheduleDate”).html(seldate);
var dataString='seldate='+seldate;
$.ajax({
类型:“POST”,
url:“getdata.php”,
数据:dataString,
cache:false,
成功:功能(数据){
$(“#附表”).html(数据);
} 
});
}
//现在这里是保留你约会的真正代码。。。
显示数据(“”)
document.getElementById('Date')。值='';
});
$(文档).ready(函数(){
$(“#名称2”).change(函数(){
var selname=$(this.val();
显示名称(selname);
});
//这是函数。。。
功能显示名称(selname){
$(“#scheduleName”).html(selname);
var dataString='selname='+selname;
$.ajax({
类型:“POST”,
url:“getdatabyname.php”,
数据:dataString,
cache:false,
成功:功能(数据){
$(“#Schedule2”).html(数据名);
} 
});
}
//现在这里是保留你约会的真正代码。。。
显示名称(“”)
document.getElementById('Name2')。值=“”;
});   
getdata.php:

<?php
require_once ('../include/global.php');
    if($_POST['seldate']) {
        $selDate = $_POST['seldate'];
        $sql="SELECT * FROM clinic.appoint WHERE date='$selDate'";
        $result = mysqli_query($con, $sql) or die($sql."<br/><br/>".mysql_error());
        while($rows=mysqli_fetch_array($result)){
    ?>
<tr>
    <td scope="row"><?php echo $rows['time'] ?></td>
    <td scope="row"><?php echo $rows['name'] ?></td>
    <td scope="row"><?php echo $rows['date'] ?></td>
    <td scope="row"><form action='/clinic form/appoint/delete.php'=<?php echo $rows['id']; ?>' method="post">
        <input type="hidden" name="id" value="<?php echo $rows['id']; ?>">
        <input type="submit" name="submit1" value="Done">
    </form>

    </td>
    </tr>
<?php } } ?>


正如评论中所建议的,您在代码中犯了错误

1.使用错误的选择器id绑定
更改功能

 $("#Name2").change(function(){ 
HTML是

<select name="Name" required class="form-control" id="Name">
应该是
$(“#Schedule2”).html(数据)

和PHP;归功于@j08691

更改
$selDate

$selDate = $_POST['selname'];
$selname

$selname = $_POST['selname'];
$sql="SELECT * FROM clinic.appoint WHERE name='$selname'";
正如您在问题中所说的,您的第一个Ajax调用工作正常,在修复上述错误之后,您在第二个Ajax调用方法中面临问题

HTML

PHP

我建议在两个Ajax调用
success:function
中使用相同的
id
选择器来显示数据

$("#Schedule").html(data);
这样,当您在select元素之间切换以显示数据时,它将替换第一次获取的数据


最后,我完全同意@Jared Smith关于混合PHP和JavaScript的说法,这真的不是好的做法

你在一个页面中使用2个javascript cdn链接?我不知道我是js新手,如果你能修复我的代码?好的,你只需要下拉列表中的名称,对吗?先生,我需要两个下拉列表,一个是日期,一个是名称,请看我现在编辑的代码。像这样混合PHP和javascript是一个非常糟糕的主意。正如你所发现的。推荐寻找更好的教程。谢谢,我会按照你在上一部分中所说的去做,谢谢你的代码。
$selDate = $_POST['selname'];
$selname = $_POST['selname'];
$sql="SELECT * FROM clinic.appoint WHERE name='$selname'";
<th>
    <select name="Name" required class="form-control" id="Name">
    <option value="">Please Select Name</option>
    <?php $sql3="SELECT * FROM clinic.appoint GROUP BY name";
    $result3 = mysqli_query($con, $sql3) or die($sql3."<br/><br/>".mysql_error());
    while($rows3=mysqli_fetch_array($result3)){?>
        <option value="<?php echo $rows3['name'] ?>"><?php echo $rows3['name'] ?></option>
    <?php } ?>
    </select>
</th>
$(document).ready(function(){
    $("#Name").change(function(){
        var selname =$(this).val();
        display_name(selname);
    });

    // This is the function...
    function display_name(selname) {
        $("#scheduleName").html(selname);
        var dataString = 'selname='+ selname;
        $.ajax({
            type: "POST",
            url: "getdatabyname.php",
            data: dataString,
            cache: false,
            success: function(data) {
                $("#Schedule").html(data);
            } 
        });
    }
});
<?php
require_once ('../include/global.php');
    if($_POST['selname']) {
        $selname = $_POST['selname'];
        $sql="SELECT * FROM clinic.appoint WHERE name='$selname'";
        $result = mysqli_query($con, $sql) or die($sql."<br/><br/>".mysql_error());
        while($rows=mysqli_fetch_array($result)){
    ?>
<tr>
    <td scope="row"><?php echo $rows['time'] ?></td>
    <td scope="row"><?php echo $rows['name'] ?></td>
    <td scope="row"><?php echo $rows['date'] ?></td>
    <td scope="row"><form action='/clinic form/appoint/delete.php'=<?php echo $rows['id']; ?>' method="post">
        <input type="hidden" name="id" value="<?php echo $rows['id']; ?>">
        <input type="submit" name="submit1" value="Done">
    </form>

    </td>
    </tr>
<?php } } ?>
//For Date Result
$("#Schedule").html(data);
//For Name Result
$("#Schedule2").html(data);
$("#Schedule").html(data);