正如其他人建议的那样,您应该使用 AJAX。我建议查看 AJAX 调用的 javascript/Jquery 示例。
我猜您想根据用户选择的选项修改 Web 的一部分,最好的方法是使用单独的 PHP 脚本来接收所选选项(在 javascript/JQuery 中捕获)并返回您想要的新 HTML显示。
例如在 Jquery 中获取选定的选项:
var selected_option_value=$("#select1 option:selected").val();
同样在 Jquery 中进行 AJAX 调用,使用 POST 传递值:
$.post("script_that_receives_value.php", {option_value: selected_option_value},
function(data){ //this will be executed once the `script_that_receives_value.php` ends its execution, `data` contains everything said script echoed.
$("#place_where_you_want_the_new_html").html(data);
}
);
希望这可以帮助!
编辑:让我们为上面的示例提供更多细节:
假设您有一个 index.html 页面,您<select name="select1">
的问题中给出了该页面:
第一步是当有人选择一个选项时链接一个事件,如何做到这一点:
1-第一种方法:
<select name='select1' id='select1' onchange='load_new_content()'>
这样,当有人更改列表的选定值时,将执行<select>
javascript 函数。load_new_content()
请注意,我已添加id='select1'
到标签中,这用于在 javascript/JQuery 中搜索此元素,如果您需要在 javascript/JQuery 中使用该标签,则应始终使用 id 属性。
2- 第二种方式,使用 JQuery 链接事件:
为此,您应该在index.html 中有一个<script>
标签。<head>
在这个<script>
标签内你应该有:
$(document).ready(function(){
// everything here will be executed once index.html has finished loading, so at the start when the user is yet to do anything.
$("#select1").change(load_new_content()); //this translates to: "when the element with id='select1' changes its value execute load_new_content() function"
});
无论您要使用哪个选项,您现在都需要此load_new_content()
功能。它也应该在<script>
标签的<head>
标签内声明,就像 $(document).ready 函数一样。
function load_new_content(){
var selected_option_value=$("#select1 option:selected").val(); //get the value of the current selected option.
$.post("script_that_receives_value.php", {option_value: selected_option_value},
function(data){ //this will be executed once the `script_that_receives_value.php` ends its execution, `data` contains everything said script echoed.
$("#place_where_you_want_the_new_html").html(data);
alert(data); //just to see what it returns
}
);
}
现在唯一剩下的是script_that_receives_value.php
:
<?php
$selected_option=$_POST['option_value'];
//Do what you need with this value, then echo what you want to be returned.
echo "you have selected the option with value=$selected_option";
?>