我有一个性别下拉列表。我正在从我的表"候选"中获取值,在这个表中我有一个字段,它实际上是另一个表的外键。
字段为gender_code_cde,表名为gender_code。现在gender_code包含 2 行。以及 ID 和描述。它的结构是这样的:
1-> 外螺纹2->母头
它显示在下拉列表中。 但如果选择男性,我想获得 id 1,如果选择女性,我想获得 id 2。我的代码如下:
<p>
<label for ="gender">Gender:</label>
<?php
$query = mysql_query("select * from gender_code"); // Run your query
echo '<select name="GENDER">'; // Open your drop down box
//Loop through the query results, outputing the options one by one
while ($row = mysql_fetch_array($query))
{
echo '<option value="'.$row['gender_cde'].'">'.$row['gender_dsc'].'</option>';
}
echo '</select>';
?>
</p>
我正在使用代码点火器。
//每当下拉列表发生变化时,这将提醒其值
<script>
function getvalue(val)
{
alert(val);
}
</script>
<p>
<label for ="gender">Gender:</label>
<?php
$query = mysql_query("select * from gender_code"); // Run your query
echo '<select name="GENDER" id="Gender" onchange="getvalue(this.value)">'; // Open your drop down box
//Loop through the query results, outputing the options one by one
while ($row = mysql_fetch_array($query))
{
echo '<option value="'.$row['gender_cde'].'">'.$row['gender_dsc'].'</option>';
}
echo '</select>';
?>
</p>
在 Javascript 中,你可以用原生 JS 获取值。
var e = document.getElementById("give-the-select-element-an-id");
var gender_cde = e.options[e.selectedIndex].value;
如果你想让它回到服务器上,它将以$_GET['GENDER']
或$_POST['GENDER']
的形式进入PHP,这取决于表单是执行POST还是GET请求。
如果您要提交(POST)表单,并且该表单位于该表单中,则可以从CodeIgniter的$_POST
包装器访问值(id):$this->input->post('GENDER');
。我不使用 CodeIgniter,所以我可能是错的,但它将位于 PHP 的$_POST
数组中。
如果您只想将变量复制到页面上的某个位置,则可以echo
它。或者通过 js/jQuery 使用 document.getElementById('#something').value = value;
或 jQuery('#something').html(value);
进行设置。
您还应该更改以下内容:
-
使用
foreach
代替您的 while:foreach ($query as $row) { echo $row['gender_x'] . $row['gender_y']; }
-
使用 CodeIgniter SQL 包装器而不是已弃用的 PHP 函数。查询部分
$this->db->query('SELECT statement goes here');
。您应该查看 CodeIgniters 的版本文档以获得更深入的解释。
编辑:为了使它更清楚一点,一个例子:
$query = $this->db->query('SELECT * FROM gender_code');
foreach ($query->result() as $row) {
echo '<option value="' . $row->gender_cde . '">' . $row->geneder_dsc . '</option>';
}
这是假设您已经在 CodeIgniter 中设置了以前的调用。请参阅 http://ellislab.com/codeigniter/user-guide/database/examples.html,您可能希望阅读 http://ellislab.com/codeigniter/user-guide/