从无序的下拉列表中获取价值

时间:2014-05-07 06:01:38

标签: php jquery oracle

我有一个关于从数据库中检索db值的问题,在无序列表中显示它们并传递到另一个下拉列表,所以我的代码是

 <?php         
        $projectParse = oci_parse($conn, 'SELECT DISTINCT PROJECT_NAME FROM FABRICATION');
        oci_execute($projectParse);

        echo '<a href="#" class="dropdown-toggle" data-toggle="dropdown"><strong class="glyphicon glyphicon-road"></strong> <strong> &nbsp PROJECT</strong> <b class="caret"></b></a>';
        echo '<ul class="dropdown-menu">';

        while($row = oci_fetch_array($projectParse,OCI_ASSOC)){
            $project = $row['PROJECT_NAME'];
        echo "<li id='project'>$project</li>";
        }
        echo '</ul>';
    ?>

所以这个问题是,我可以下拉下拉列表中的值,但我无法点击它们。 一旦点击了值,就会传递给jquery,

$(function(){
    // SHOW RECORD
    $('#project').change(function(){
        $.post('update_fabrication.php',
                            {action: "show", method:"POST",
                             proj:$('#project').val()}
                             );     
    });
});

并使用第二个数据库的值

$result = oci_parse($conn, 'SELECT DISTINCT HEAD_MARK FROM FABRICATION WHERE PROJECT_NAME = :projName');
             oci_bind_by_name ($result, "projName", $_POST["project"]);
             oci_execute($result);

             echo '<label><SELECT name="headmark" id="headmark" class="form-control input-sm" placeholder="Select Project">'.'<br>';
             echo '<OPTION VALUE=" ">'."Project Select".'</OPTION>';

             while($row = oci_fetch_array($result,OCI_ASSOC)){
             $HM = $row ['HEAD_MARK'];
             echo "<OPTION VALUE='$HM'>$HM</OPTION>";
             }
             echo '</SELECT></label><br />';

请帮助我解决我的情况,非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

这是你做的:

1)您的<ul>需要id标记,而不是每个<li>请记住id对每个元素都是唯一的,不应该重复。

echo '<ul class="dropdown-menu" id="project">';

2)<li>需要在其中包含锚标签,以便可以执行点击功能,因此请更改为:

while($row = oci_fetch_array($projectParse,OCI_ASSOC)){
    $project = $row['PROJECT_NAME'];
    echo '<li><a href="#">$project</a></li>';
}

3)由于$project现在是一个文字,您需要使用.text()来获取<a>的内部值:

$('#project li a').click(function(){
    var val = $(this).text();
    $.post('update_fabrication.php',
    {
     action: "show", method:"POST",
     proj:val
    });     
});

简短 demo