我有一个名为 getvalues.php 的页面,我需要调用一个在该页面(getvalues.php)的类中的不同 php 页面(fileclass.php)中编写的函数,但问题是我需要还传递一个变量 $i,如果我们选择选项 B,则传递的 $i 的值应为 1;如果选项=c,则传递的 $i=2;如果下拉列表中给出的选项=D,则传递的 $i=3。我只是编写了一个 onchange 事件,但没有用 javascript 编写任何代码。请帮忙谢谢。这是 getvalues.php 的代码
<html>
<select id="s" onchange="callsome();">
<option value='B' selected>B</option>
<option value='c'>c</option>
<option value='D'>D</option>
</select></html>
<?php include("fileclass.php")
$obj=new file;
echo $obj->func($i);?>
最佳答案
您可以使用 JQuery 或 Javascript 来实现此功能(我在示例中使用 JQuery,因为它更短且更容易进行 Ajax 调用):
<html>
<select id="s" onchange="callsome();">
<option value='1' selected="selected">B<option>
<option value='2'>C</option>
<option value='3'>D</option>
</select>
<script>
function callsome() {
var selected = $('select#s option:selected').val();
$.ajax({
type: "POST",
url: "fileclass.php",
data: ({selectedvalue : selected}),
success: function(data) {
alert(data);
}
});
}
</script>
</html>
之后,callsome 返回 fileclass.php 脚本的输出,您可以在代码中随意使用它。从您的解释来看,并不清楚 fileclass.php 中发生了什么以及您想用它做什么,所以我希望它对您有所帮助。
如果您只需要 Javascript 中的函数:
<script type="text/javascript">
function callsome() {
var e = document.getElementById("s");
var strVal = e.options[e.selectedIndex].value;
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var data = xmlhttp.responseText;
//use the data as you wish
}
}
xmlhttp.open("GET","fileclass.php?selectedvalue=strVal",true);
xmlhttp.send();
}
</script>
关于php - JavaScript 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588311/