2

我的表单中有 2 个下拉选择框。第一个允许用户选择汽车制造商“vmake”。一旦选择了 vmake,就会出现一个“vmodel”选择框,然后用户可以选择 vmodel。但是,我希望 vmodel 框在页面加载时出现,所以它不会凭空出现。如果用户在选择 vmake 之前尝试打开它,它将是空的。这是我的html

<select name="vmake" id="vmake">
<option value"" selected="selected">Make</option>
<?php getTierOne()l ?>
</select>

<select name="vmodel" id="vmodel">
<option value"" selected="selected">Model</option>
</select>
<span id="wait_1"></span>
<span id="result_1"></span>

这是jquery:

$(document).ready(function(){
$('#wait_1').show();
$('#vmake').change(function(){
$('#wait_1').show();
$('#result_1').hide();
$.get("func.php", {
func" "vmake",
drop_varL $('#vmake').val()
}, function(response){
$('#result_1').fadeOut();
setTimeout(finishAjax('result_1', '"+escape(response)+"')", 400);
});
return false;
]);
});

最后是连接到我的数据库的 php

function getTierOne()
{
$result = mysql_query("SELECT DISTINT vmake FROM vmake")
or die(mysql_error());
while($tier = mysql_fetch_array( $result ))
{ echo '<option value="'.tier['vmake'].'">'.$tier['vmake'].'</option>';
}}

if($_GET['func'] == "vmake" && isset ($_GET['func'])) {
vmake($_GET['drop_var']);}
function vmake($drop_var)
{ include_once('db.php');
$result = mysql_query("SELECT * FROM vmake WHERE vmake='$drop_var'")
or die(mysql_error());

echo '<option value=" " selected="selected">Model</option>';

while($drop_2 = mysql_fetch_array( $result))
{ echo '<option value="'.$drop_2['vmodel'].'">'.$drop_2['vmodel'].'</option>';
}}

我从一个开源网站的原始代码中得到了一些帮助,现在我只需要稍微改变它就可以让它做我想做的事情。就目前而言,它将在现有的旁边创建一个新的 vmodel 选择框,但我只希望它填充出现在页面加载时的选择框。很感谢任何形式的帮助。感谢一切。

4

1 回答 1

0

您是否尝试使用 jQuery .load

例子:

$('#vmodel').load('func.php',{vmake:$('#vmake').val()});

还需要更改 PHP,因此您创建一个普通的值数组,然后通过json_encode()发送它。

于 2012-03-15T21:52:40.517 回答