Javascript Select2使用ajax和php基于第一个(多个)选择填充第二个字段
我怎样才能做到这一点? 我有第一个多选选项字段(parentfield),需要根据第一个字段的值弹出第二个字段(childfield)Javascript Select2使用ajax和php基于第一个(多个)选择填充第二个字段,javascript,php,jquery,ajax,jquery-select2,Javascript,Php,Jquery,Ajax,Jquery Select2,我怎样才能做到这一点? 我有第一个多选选项字段(parentfield),需要根据第一个字段的值弹出第二个字段(childfield) <select id="parentfield" name="parentfield[]" multiple> <option value="1">first value</option> <option value="2">second value</option> <o
<select id="parentfield" name="parentfield[]" multiple>
<option value="1">first value</option>
<option value="2">second value</option>
<option value="3">third value</option>
</select>
第一值
第二值
第三值
这个parentfield应该将值发布到一个php脚本中,脚本会像这样将数据返回到childfield中
<select id="childfield" name="childfield[]">
<optgroup label="Group 1">
<option value="1">first value child</option>
<option value="2">second value child</option>
</optgroup>
<optgroup label="Group 2">
<option value="3">third value child</option>
<option value="4">fourth value child</option>
</optgroup>
</select>
第一价值子
第二价值子
第三价值儿童
第四价值儿童
因此,我有一个返回json的php代码,我想用它来构建值
(Obs.:这是定制组件中的joomla ajax请求)
我的jquery应该如何实现这一点?
我是否必须修改php代码以生成不同的json响应?
<html>
<head>
<title>Multiple drop down list </title>
<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='yourcurrentfilename.php?cat=' + val ;
}
</script>
</head>
<body>
<?Php
$cat=$_GET['cat'];
$quer2="SELECT category,cat_id FROM category order by category";
if(isset($cat)){
$quer1="SELECT DISTINCT subcategory FROM subcategory where cat_id=$cat order by subcategory";
}
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($cat_name = mysql_fetch_array($quer2)) {
if($cat_name['cat_id']==$cat){
echo "<option selected value=".$cat_name['cat_id'].">".$cat_name['category']."</option>"."<BR>";
}
else{
echo "<option value=".$cat_name['cat_id'].">".$cat_name['category']."</option>";
}
}
echo "</select>";
echo "<select name='subcat'><option value=''>Select Two</option>";
while($subcat_name = mysql_fetch_array($quer1)) {
echo "<option value=".$subcat_name['subcategory'].">".$subcat_name['subcategory']."</option>";
}
echo "</select>";
?>
</body>
</html>
多个下拉列表
函数重载(表单)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='yourcurrentfilename.php?cat='+val;
}
<html>
<head>
<title>Multiple drop down list </title>
<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='yourcurrentfilename.php?cat=' + val ;
}
</script>
</head>
<body>
<?Php
$cat=$_GET['cat'];
$quer2="SELECT category,cat_id FROM category order by category";
if(isset($cat)){
$quer1="SELECT DISTINCT subcategory FROM subcategory where cat_id=$cat order by subcategory";
}
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($cat_name = mysql_fetch_array($quer2)) {
if($cat_name['cat_id']==$cat){
echo "<option selected value=".$cat_name['cat_id'].">".$cat_name['category']."</option>"."<BR>";
}
else{
echo "<option value=".$cat_name['cat_id'].">".$cat_name['category']."</option>";
}
}
echo "</select>";
echo "<select name='subcat'><option value=''>Select Two</option>";
while($subcat_name = mysql_fetch_array($quer1)) {
echo "<option value=".$subcat_name['subcategory'].">".$subcat_name['subcategory']."</option>";
}
echo "</select>";
?>
</body>
</html>