Php AJAX、DOM和<;选项>;标签

Php AJAX、DOM和<;选项>;标签,php,jquery,ajax,dom,Php,Jquery,Ajax,Dom,在花了很多时间试图找到解决方案后,我在代码中找不到问题。 我正在尝试获取一些关于用户的信息,比如最喜欢的日期和诸如此类的事情。为此,我发送了一些日期,这些日期是我的程序用select标记创建的。首先,我调用一个ajax函数,该函数返回选项标记。当我的选项框加载后,我等待用户通过单击按钮来更改它。然后,我想将信息发送回服务器。这很清楚,但问题是DOM在开始时加载了里面的所有内容。这意味着,当它开始加载时,没有选项项id。我尝试使用.live()JQUERY命令,但没有结果,没有显示任何警报消息。我

在花了很多时间试图找到解决方案后,我在代码中找不到问题。 我正在尝试获取一些关于用户的信息,比如最喜欢的日期和诸如此类的事情。为此,我发送了一些日期,这些日期是我的程序用select标记创建的。首先,我调用一个ajax函数,该函数返回选项标记。当我的选项框加载后,我等待用户通过单击按钮来更改它。然后,我想将信息发送回服务器。这很清楚,但问题是DOM在开始时加载了里面的所有内容。这意味着,当它开始加载时,没有选项项id。我尝试使用.live()JQUERY命令,但没有结果,没有显示任何警报消息。我什么都试过了,什么都没用。这里是JQUERY语法

 $('#Consultar3').live('click', function(){         
      var Date1 = $('#combo1 option:selected').attr("value");
      alert($('#combo1 option:selected').attr("value"));
 });
这是我的php文件,包含所有标记

 for ($i=0; $i<2; $i++){
        $variable_Provider = new UIProvider;
        $value = $variable_Provider->GetDate();
        $j=1;
        $print.='<select id=combo'.$i.'; style="width:110; height:25">';
        while ($row=mysql_fetch_row($value)){ 
            $print.='<option value='.$row[1].'>'.$row[0].'</option>\n';  
            $j++;
        } 
        $print.="</select><br>"; 
    }
    $print.='Caja<input id="combo3"; type="text" value="1" style="width:150; height:25"><br>';
    $print.='<input id="Consultar3" type="button" value="Consultar" style="width:110; height:25"><br>';
($i=0;$iGetDate())的
;
$j=1;
$print.='';
而($row=mysql\u fetch\u row($value)){
$print.=''.$row[0].\n';
$j++;
} 
$print.=“
”; } $print.='Caja
'; $print.='
';

任何人都能猜到问题出在哪里?

最后,我在组合定义和调用组合的DOM方式中发现了我的问题:

$('#Consultar3').live('click', function(){          
  var Date1 = $('#combo0 option:selected').attr("value");
  var Date1 = $('#combo1 option:selected').attr("value");
  $("#Statistics_Primitiva").load("../ajax/Estadisticas.php",{Control_Var:2, Date0:Date0, Date1:Date1});
});    

$print.='<select id=combo'.$i.'; style="width:110; height:25">';
    while ($row=mysql_fetch_row($value)){ 
    $print.='<option value='.$row[1].'>'.$row[0].'</option>\n';  
} 
$('#Consultar3').live('click',function(){
var Date1=$(“#组合0选项:选定”).attr(“值”);
var Date1=$(“#组合1选项:选定”).attr(“值”);
$(“#Statistics_Primitiva”).load(“../ajax/Estadisticas.php”,{Control_Var:2,Date0:Date0,Date1:Date1});
});    
$print.='';
而($row=mysql\u fetch\u row($value)){
$print.=''.$row[0].\n';
} 

问题出在您生成的combo0和combo1中,但是只在combo1上硬编码活动内容?请注意,live()函数已弃用。这对您的问题没有帮助,但将来可能会对您有所帮助。此外,在php代码中,您最初从未设置$print变量……这会产生php错误。这段代码是否正是页面中无法使用的代码?正如@MarcB提到的,您已将操作硬编码到第二个选项。此外,在对于循环,您实例化了“j”,但不使用它。并且,您提供了value属性
$row[1]
,但显示为
$row[0]
。另外,您将live偶数附加到ID为
Consultar3
的元素上,您确定您的DOM是正确的吗?很抱歉,我没有在我的代码中复制$print inicialized,但它是!就像$print=“”;在我的代码的第一行。关于j,它没有用是的,我只是删除了它。我将直接复制我所有的代码。