Php 当选择值被更改时激发的jQuery函数?
大家好。因此,我尝试使用这个简单的jQuery程序,它可以在选择值被更改时触发函数。我计划一旦我使这个简单的函数起作用,就在一个更复杂的程序中使用它 这是来自jQuery API网站的代码,我对其进行了轻微的修改,以尝试我想要的结果:Php 当选择值被更改时激发的jQuery函数?,php,javascript,jquery,Php,Javascript,Jquery,大家好。因此,我尝试使用这个简单的jQuery程序,它可以在选择值被更改时触发函数。我计划一旦我使这个简单的函数起作用,就在一个更复杂的程序中使用它 这是来自jQuery API网站的代码,我对其进行了轻微的修改,以尝试我想要的结果: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>change demo</title>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>change demo</title>
<style>
div {
color: red;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<select id="selector" name="sweets">
<option>Chocolate</option>
<option selected="selected">Candy</option>
<option>Taffy</option>
<option selected="selected">Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
<div></div>
<script>
$( "#selector" )
.on('change',(function () {
$( "select option:selected" ).each(function() {
<?php header("Location:jcue.php")?>
});
})
.change();
</script>
</body>
</html>
我想做的是,一旦select输入值被更改,页面应该只重定向到jque.php。但是程序中发生的事情是,它自动重定向到另一个页面,甚至不加载当前页面本身。有什么问题吗?jQuery和Javascript是我在web编程领域尚未探索过的领域,我知道这对许多web程序员来说是非常基础的,但我只是需要它,当我有空闲时间时,我真的必须开始学习Javascript、AJAX和jQuery哈哈
我将要使用它的复杂程序是一个搜索结果过滤程序。但在我能做到这一点之前,我必须让这个简单的程序工作
有人能帮我吗?非常感谢。答案将不胜感激。请尝试以下方法:
$(function() {
$("#selector").change(function() {
location.href = "jcue.php";
});
});
这将解决您的问题。请尝试以下方法:
$(function() {
$("#selector").change(function() {
location.href = "jcue.php";
});
});
这将解决您的问题。问题在于,您的PHP会在页面加载后立即执行—您无法将其合并到javascript中。此外,您不需要在处理程序中使用each。请尝试以下方法:
$("#selector").on('change',(function () {
window.location.assign('jcue.php');
});
问题是,当页面加载时,PHP就会被执行——您无法将其合并到javascript中。此外,您不需要在处理程序中使用each。请尝试以下方法:
$("#selector").on('change',(function () {
window.location.assign('jcue.php');
});
JavaScript是客户端脚本,而PHP是服务器端脚本。您正试图触发一个PHP头重定向,该重定向应该在发送到客户端浏览器之前的服务器时间发生。因此,这将不适用于“更改”事件 只需使用:
$("#selector").change(function() {
window.location = "jcue.php"; //this can be URL as well
});
另外,我注意到您有两个选择,请告诉我为什么?JavaScript是客户端脚本,而PHP是服务器端脚本。您正试图触发一个PHP头重定向,该重定向应该在发送到客户端浏览器之前的服务器时间发生。因此,这将不适用于“更改”事件 只需使用:
$("#selector").change(function() {
window.location = "jcue.php"; //this can be URL as well
});
另外,我注意到你有两个选择,介意告诉我为什么吗?不太好的做法:使用Javascript重定向,因为JS可以被阻止
有一些语法错误,这里有一个修复,只需替换您的代码
$( "#selector" ).on('change',(function () {
var str = "";
$( "select option:selected" ).each(function() {
window.location.replace("http://stackoverflow.com");
});
}));
良好实践:使用jquery ajax请求或使用标准函数重定向,在加载html/js之前必须运行标准函数
祝你好运,学习编程。真有趣 不太好的做法:使用Javascript重定向,因为JS可以被阻止
有一些语法错误,这里有一个修复,只需替换您的代码
$( "#selector" ).on('change',(function () {
var str = "";
$( "select option:selected" ).each(function() {
window.location.replace("http://stackoverflow.com");
});
}));
良好实践:使用jquery ajax请求或使用标准函数重定向,在加载html/js之前必须运行标准函数
祝你好运,学习编程。真有趣 浏览器一看到您的php头文件,它就会执行。为什么要在循环中执行重定向?var str=的作用是什么?我明白了。我太傻了,已经忘了。你建议我怎么做?例如,当选择值被更改时,我需要转到某个URL?忽略该var str。这只是我在修改时忘记删除的一段代码。一旦浏览器查看您的php标头,它就会执行。您为什么要在循环中尝试重定向?var str=用于什么?我明白了。我太傻了,已经忘了。你建议我怎么做?例如,当选择值被更改时,我需要转到某个URL?忽略var str。这只是我在修改时忘记删除的一段代码。基本上解决了我当前的困境。我可以用一种稍微不同的方式来使用CodeIgniter吗?例如,转到URL而不是文件?注意:此处不一定需要$function{}构造,因为脚本位于正文末尾。@ChristianCastillo,是的,您可以使用它CodeIgniter。虽然在本例中,您将通过URL重定向到juce.php文件。这基本上解决了我目前的困境。我可以用一种稍微不同的方式来使用CodeIgniter吗?例如,转到URL而不是文件?注意:此处不一定需要$function{}构造,因为脚本位于正文末尾。@ChristianCastillo,是的,您可以使用它CodeIgniter。虽然在本例中,您将通过URL重定向到juce.php文件。