下午好人,
本周我第一次开始使用ajax-request,但我不知道如何以正确的方式使用它。我的情况:我有2个dropbox,第一个包含来自数据库的数据,第二个必须填充我在第一个组合框中选择的选项(例如select * from presents where city = '$_GET['city']'
)。
我有以下代码:
来自index.php header-section
$('#woonplaats').change(function(){
var woonplaats = $('#woonplaats').val();
$.ajax({
type: "GET",
url: "ajax.php?woonplaats="+woonplaats+"",
success: function(msg){
$('#pandtype').html(msg);}
});
});
来自ajax.php
$_GET['woonplaats'] = mysql_real_escape_string($_GET['woonplaats']);
if(isset($_GET['woonplaats']))
{
$query = "SELECT * FROM aanbod WHERE Plaats = '".$_GET['woonplaats']."'";
$result = mysql_query($query);
echo $query;
echo "<select id='pandtype' name='pandtype'>";
while($row = mysql_fetch_object($result))
{
echo '<option value="'.ucfirst(strtolower($row->PandType)).'">'.ucfirst(strtolower($row->PandType)).'</option>';
}
echo "</select>";
}
我想念什么? 我与原来的第二个加载的组合框有什么关系?
亲切的问候!
答案 0 :(得分:0)
为了回应自我回答,我有一个小的重构 -
而不是创建占位符元素并使用.html()jQuery方法:
$('#blaat').html(msg);
您可以动态创建希望ajax响应在...中显示的元素。
要在元素之后显示创建ajax请求(假设它是#woonplaats):
$('<div>' + msg + '</div>').appendTo($('#woonplaats'));
我更喜欢这种方法,因为依赖于继承的css规则,你最终可能会在显示中出现一些“wonk”。它在脚本设置中有一些内容,但可能会阻止在元素上为“display:none”添加另一个css类或内联样式。
答案 1 :(得分:0)
使用jquery
头标记中的* * *
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$('#states').change(function(){
$('#cities').load('places.php?state='+$('#states').val() );
$('#cities').focus();
});
});
</script>
* *组合状态
<select name="states" id="states" onChange="" width="200px" style="width: 200px">
<option value="">Select state</option>
<?php
$query_uf = "SELECT * FROM states ORDER BY state ASC";
$result = mysql_query($query_uf, $bd);
while ($uf = mysql_fetch_assoc($result)) {
echo "<option value='".$uf['cod']."'>".$uf['name_state']."</option>";
}
?>
</select>
* *组合城市(当州改变时填写)
<select name="cities" id="cities" width="200px" style="width: 200px">
<option value="">Choose a city</option>
</select>
places.php
$id_state = $_GET['state'];
$result = mysql_query("SELECT * FROM cities WHERE cod_st = '".$id_state."' ORDER BY name_city ASC", $bd) or die(mysql_error());
echo "<option value=\"\">Select city.</option>";
while($row = mysql_fetch_array($result) ){
echo "<option value='".$row['cod_city']."'>".$row['name_city']."</option>";
}
表状态 鳕鱼| name_State
1 |佛罗里达 2 |加利福尼亚
表城市 cod_city | name_city | cod_st
1 |迈阿密| 1 2 |奥兰多| 1 3 |圣地亚哥| 2 4 |旧金山| 2