我有两个下拉列表的表单(比如A和B)。 当我从A中选择一个值时,使用AJAX相应地填充B
在同一页面中,我有一个按钮,按下该按钮后,将下拉列表中所选项目的值发布到另一个PHP页面。我遇到的问题是B的选定值返回为空白/空。
有没有办法存储使用AJAX填充的下拉列表的选定值?
以下代码:
(主要表格)
<form name="NewBar" method="post" onsubmit="return validateFormOnSubmit(this)" action="AssignContactDetailToBar_f.php">
<tr>
<td width="150"><b>Bar:</b></td>
<td>
<select name = "bar" onChange="getContact('AssignContactDetailToBar_f_getContacts.php?bar='+this.value)" size = 1 style = "width:190px">
<option value = "">---Select---</option>
<?php
while ($data = mysql_fetch_array($r_getBarsDetails))
{
echo "<option value=\"".$data['bar_id']."\">".$data['bar_name']." (".$data['town_name'].")</option>";
}
?>
</td>
</tr>
<tr>
<td width="150"><b>Contact Person:</b></td>
<td>
<div id="persondiv"><select name = "person" size = 1 style = "width:190px">
<option value = "">--Select Bar--</option>
</td>
</tr>
<tr>
<td>
<input name="security" type="text" size="15">
</td>
<td>
<input type="submit" name="Submit" value="Submit">
</td>
</tr>
</form>
用于填充第二个下拉列表的表格
<select name="person" size = 1 style = "width:190px">
<option value = "">--Select Person--</option>
<?php
while($data=mysql_fetch_array($result))
{
echo "<option value=\"".$data['person_id']."\">".$data['person_name']." ".$data['person_surname']." (".$data['town_name'].")</option>";
} ?>
如果您希望从here
看到完整的代码下载答案 0 :(得分:1)
清除框B中的旧值,当您向B插入新的选择选项时,也会相应地在选项中插入值。
在js上 注意:argstr是字符串你从ajax php文件中获取,由value1分隔:option1 | value2:option2 和argctrl获得了之前的Box B选项
function splitstr(argstr,argctrl)
{
var o;
var ctrl = eval(argctrl);
var prezar = argstr.split("|");
argctrl.length = 0;
clearcombo(ctrl);
if(argstr!='')
{
for (o=0; o < prezar.length; o++)
{
splitarr = prezar[o].split(":");
ctrl[ctrl.length] = new Option(splitarr[1], splitarr[0]);
}
}
}
function clearcombo(argctrl)
{
for (var i=argctrl.length-1; i>=0; i--)
{
argctrl[i] = null;
}
}