从数据库中更改while循环下拉列表中的文本

时间:2014-07-26 16:57:39

标签: php jquery ajax

我想知道如何根据下拉列表更改文本。它的一个例子是我将在下拉列表中选择名称,并使文本区域中的文本相应地更改。到目前为止我做了一些研究,需要使用ajax。

以下是我的代码:

<label for="CandidateName">Candidate Name:</label> 
<select name="candidateName">

<?php
if ($shortlistedCandidates > 0) { // Just to count and get how many data from database.

  while ($row = mysqli_fetch_array($result)) {

     $cid = $row['candidate_id'];
     $firstName = $row['first_name'];
     $lastName = $row['last_name'];
     $combined = "$firstName $lastName";

     echo "<option value='$cid'>" . $combined . "</option>";
    }
} else {
     echo "<option>No candidates to be shortlisted</option>";
  }
}
?>
</select>

1 个答案:

答案 0 :(得分:1)

这需要使用多个文件才能使其异步。因此,您拥有select元素和使用PHP生成的option。使用onchange元素中的select触发另一个PHP文档,将结果加载到其他div中。我将举例说明jQuery库。

HTML:

<select id='candidate' onchange='get_candidate(this.value);'>
 options generated with PHP
</select>
<div id='candidate_result'></div>

Javascript(把它放在html文档中)

<script>
function get_candidate(id) {
    $( "#cart" ).load( "candidate.php?id="+id );
</script>

PHP文件

<?php 
    $candidate_id = $_GET['id'];
    // do you sql query with the $candidate_id en echo it!
?>

没有测试此代码,但请尝试按照此处的操作进行操作。