PHP, HTML, jquery onchange


PHP, HTML, jquery onchange

我有一个动态下拉菜单,当用户选择一个选项时,我需要运行一个jquery代码。

这是我需要运行的jquery:

$(function() {
    $("select").on("change", function() {
        var value = $(this).value(); //get the selected id
        $.get("requesturl.php", {
            course: value
        }, function() {
            // do something with the response
        }, "json");
    })
})

这是我的php代码:

     if(User('PROFILE')=='admin' || User('PROFILE')=='parent'){

        $sql=  "SELECT id, course_period_id from schedule WHERE STUDENT_ID='$_SESSION[student_id]'";
        $result=mysql_query($sql);
        $options="";
        while ($row=mysql_fetch_array($result)) {
            $id=$row["id"];
            $course_period_id=$row["course_period_id"];
            $course= DBGet(DBQuery("SELECT title FROM course_periods WHERE course_period_id='$course_period_id'"));
            $options.="<OPTION VALUE='"$course[1]['TITLE']'">".$course[1]['TITLE'].'</option>';
        }

        echo "<script type = 'text/javascript'>
                function populate(course)
            {
                alert('test');
             }</script>";

        echo "<SELECT id='course' name = 'course' onchange='populate(this.course)'  >
            <OPTION VALUE=0>Choose
             $options
             </SELECT>";

     }

我试图在jquery中运行一个测试警报,但当我选择一个选项时,什么也没发生。

请帮帮我,我不知道如何将jquery代码添加到我的php代码中。

试试这个:

Java脚本代码

function populate(obj)
    {
            var value = $(obj).val(); //get the value
            $.get("requesturl.php", {
                course: value
            }, function() {
                // do something with the response
            }, "json");
    }

Php代码

echo "<SELECT id='course' name = 'course' onchange='populate(this)'  >
            <OPTION VALUE=0>Choose
             $options
             </SELECT>";

您似乎有javascript错误,这就是为什么您的javascript代码没有执行的原因。

您应该使用开发人员工具来检测浏览器中的javascript错误。通常F12会在Chrome和Firefox中打开它。

在开发人员工具上,您会看到带有红十字的js错误(通常在右角)。单击它以查找错误所在。

var value = $(this).value();

这是一个不正确的jquery语法
改为使用.val()例如:

var value = $(this).val()

并且还使用

 $(document).on(‘change’,’course’,function(){
   // your code on course value change
   });


尝试此代码

$(document).on("change","course",function(){
    var value = $("#course option:selected").val();
    //......This will returns the selected id
        $.get("requesturl.php", {
            course: value
        }, function() {

            // do something with the response
        }, "json");
});