我有一个选择框,如下所示。
<td align="center">
<select id="selectW" name="type" onChange="this.form.submit()">
<option value="select...">select</option>
<option value="dollars">dollars</option>
<option value="BP">BP</option>
</select>
我正在寻找的是根据用户选择的值生成另一个选择框,其选项需要获取来自 MySQL数据库在 #selectW 元素中。
我试过了:
<select id="selectW" name="type" onChange="this.form.submit()">
但是它提交了它所在的表格。
答案 0 :(得分:1)
您需要了解表单的基本工作。您可以按照以下步骤获得结果。
1-让我们改变onChange事件。
<select id="selectW" name="type" onChange="showSecondDropDown()">
当用户从 #selectW 列表中选择任何值时,将会调用名为showSecondDropDown()的java脚本函数,因此现在可以添加此项功能是JS。
2-定义JS函数。
<script type="text/javascript">
function showSecondDropDown() {
//Now get the value of selectW.
var userSelected = jQuery("#selectW").val();
//Now we need to get values from MYSQL based on the "userSelected"
// value. to do so we need to call AJAX.
jQuery.ajax({
url: "path/to/your/php/file/relative/to/this.php",
data: {"userSelected": userSelected },
success: function (resp) {
//At this stage you will get the value
//that your php file will generate. Then based on the format
// That your php file is returning you can generate new
// Select Box.
console.debug(resp); //This will print your value in Console
//Let's assume if your php is returning full html select text
// then you can append that in DOM like this.
jQuery("body").append(resp);
}
});
}
</script>
3-创建PHP文件。请记住,在第2步中,url将指向此文件。
现在,在此文件中,您可以访问userSelected as
$_REQUEST["userSelected"];
使用此值从Mysql获取数据然后创建一个这样的字符串 AB
其中a和b是从MYSQL生成的。你所要做的就是回应这个字符串
echo "<select><option> a</option><option>b</option>";