如何使用从用AJAX/PHP填充的DropDownList中选择的值

如何使用从用AJAX/PHP填充的DropDownList中选择的值,php,ajax,drop-down-menu,Php,Ajax,Drop Down Menu,我有两个下拉列表,比如A和B。 当我从a中选择一个值时,将使用AJAX相应地填充B 在同一个页面中,我有一个按钮,当按下该按钮时,将dropdownlists的选定项的值发布到另一个PHP页面。我遇到的问题是,选择的B值返回为空/空 有没有办法存储使用AJAX填充的dropdownlist的选定值 代码如下: 主要形式 <form name="NewBar" method="post" onsubmit="return validateFormOnSubmit(this)" action=

我有两个下拉列表,比如A和B。 当我从a中选择一个值时,将使用AJAX相应地填充B

在同一个页面中,我有一个按钮,当按下该按钮时,将dropdownlists的选定项的值发布到另一个PHP页面。我遇到的问题是,选择的B值返回为空/空

有没有办法存储使用AJAX填充的dropdownlist的选定值

代码如下:

主要形式

<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>";     
} ?>

如果要查看从

下载的完整代码,请清除框B中的旧值,并在向框B插入新选项的同时,相应地在选项中插入值

关于js 注意:argstr是从ajax php文件中获取的字符串,由value1:option1 | value2:option2分隔 argctrl获得了以前的框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;
  }
}

清除框B中的旧值,在向框B插入新的选择选项时,也相应地在选项中插入值

关于js 注意:argstr是从ajax php文件中获取的字符串,由value1:option1 | value2:option2分隔 argctrl获得了以前的框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;
  }
}

谢谢你,尼克,但我无法理解你的答案。。。。。如果你愿意,可以给我发邮件sandrozahra@gmail.com. 谢谢,嗯,我看到了你的文件,但是我获取选项值的方式不同,你可以只使用值和特定方式的选项,比如value:option | value:option你将得到这个作为响应text,然后你可以调用这个函数:splitstrresponseText,document.NewBar.persondiv.options;谢谢你,尼克,我会想办法的。但我认为,由于动态列表位于单独的php页面上,它的值正在丢失:谢谢nik,但我无法理解您的答案。。。。。如果你愿意,可以给我发邮件sandrozahra@gmail.com. 谢谢,嗯,我看到了你的文件,但是我获取选项值的方式不同,你可以只使用值和特定方式的选项,比如value:option | value:option你将得到这个作为响应text,然后你可以调用这个函数:splitstrresponseText,document.NewBar.persondiv.options;谢谢你,尼克,我会想办法的。但我认为,由于动态列表位于单独的php页面上,其值正在丢失: