正如标题所说,我需要onchange方面的帮助。我有select标签,当我从select列表中选择一些东西时,我需要做不同的mysql查询。示例:
<select name="list">
<option>cars</option>
<option>busses</option>
<option>trucks</option>
</select>
然后当我选择cars
时,它会进行
$query="select * from table where type='cars'";
如果我选择trucks
,它会进行
$query="select * from table where type='trucks'";
等等…
然后我需要在列表下的div中显示结果示例
<select name="list">
<option>cars</option>
<option>busses</option>
<option>trucks</option>
</select>
<div> this is where I need to display results from query</div>
请帮忙!!!
如果您想通过ajax更改结果:
HTML:
<select id="list" name="list">
<option>cars</option>
<option>busses</option>
<option>trucks</option>
</select>
在JS文件中:
$(document).ready(function() {
$('#list').change(function() {
var selected=$(this).val();
$.get("change_query.php?selected="+selected, function(data){
$('.result').html(data);
});
});
});
您应该创建change_query.php文件以及其中的查询和代码,并在中返回结果
$type = $_POST["selected"];
$query="select * from table where type='".$type."'";
在此处打印结果;
- 如果你需要任何帮助,请告诉我,我只是在Jquery中指导你,而不是所有的代码
您应该将SELECT代码添加到method
属性设置为post
的表单中,当然还有一个提交按钮。然后,php将获得这些INPUTS的值,并执行您想要的任何操作。
$term = $_POST['list'];
/*
In order to prevent unwanted queries or injection add an array with those terms and
check if the posted value is in this array:
*/
$terms = array("cars" , "trucks");
if(!array_key_exists($term , $terms))
die(); //bad bad bad boy.
$query = "select * from table where type='$term'";
您可以使用
onchange="this.form.submit();"
同样。