我有一个动态下拉菜单,当用户选择一个选项时,我需要运行一个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");
});