问问题
21109 次
4 回答
3
如果不提交页面,您无法使用 PHP 执行此操作。PHP 代码在页面在浏览器中呈现之前在服务器上执行。当用户随后在页面上执行任何操作(例如,在下拉列表中选择一个项目)时,不再有 PHP。将此代码导入 PHP 的唯一方法是提交页面。
但是,您可以做的是使用 javascript 获取值 - 然后向传递所选值的 php 脚本发出 AJAX 请求,然后处理结果,例如
$(document).ready(function() {
$('#my_select').on('change', do_something);
});
function do_something() {
var selected = $('#my_select').val();
$.ajax({
url: '/you/php/script.php',
type: 'POST',
dataType: 'json',
data: { value: selected },
success: function(data) {
$('#some_div').html(data);
}
});
}
使用此代码,只要下拉列表中的选定选项发生更改,就会向您的 php 脚本发出 POST 请求,并将选定的值传递给它。然后返回的 HTML 将被设置到带有 ID 的 div 中some_div
。
于 2013-09-04T09:27:37.020 回答
0
像 Alex G 告诉你的那样使用 ajax 发布 (+1),然后使用 PHP 处理该帖子。您可以在 Javascript 中定义一个回调,该回调将在页面响应时运行。
于 2013-09-04T09:57:21.043 回答
0
不确定..但我想ajax是你需要的..
<script>
function name_click(){
value_select = $("#id_select").val();
$.post('path/to/your/page',{"value":value_select},function(data){
alert('done')
})
}
</script>
PHP
$value=$_POST['value']; //gives you the value_select data
于 2013-09-04T09:26:28.190 回答
0
我的建议与 jquery 一起使用。试试这个
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
<script>
$(document).ready(function(){
$("#id_select").change(function(){
var url = 'http:\\localhost\getdata.php'; //URL where you want to send data
var postData = {'value' : $(this).value};
$.ajax({
type: 'POST',
url: url,
data : postData,
dataType: 'json',
success: function(data) {
//
},
error: function(e) {
console.log(e.message);
}
});
})
})
</script>
在 getdata.php 中
<?php
var $value = $_POST['value'];
// you can do your logic
?>
于 2013-09-04T09:39:31.350 回答