我有一个关于从数据库中检索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>   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 />';
请帮助我解决我的情况,非常感谢任何帮助
答案 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