我有两张表gender
和names
名表有以下列表:
- 从名称ID 1到名称ID 10的男性姓名
- 从nameID 11到nameID 21的女性姓名
- 从nameID 23到nameID 31
性别表有三个属性:
- 女
- 男
- 两个
我正在使用bootstrap select选项如果用户从性别选择选项中选择女性,我想显示从nameID11到nameID 21的名称等等 这有可能吗? 我看到其他帖子,我注意到他们使用javascript我以前从未使用过javascript,我可以用其他方法获得相同的结果
tableGender
...................
性别ID(PK)
genderName 可以是男性,女性或两者
表名
...................
nameID(PK)
名字
<?php
include "connection.php";
echo " <p> Gender </p>";
echo "<select class='form-control' name='gender'>";
echo "'<option value=''></option>";
$sql2 = mysqli_query($con, "SELECT * FROM tableGender");
while ($row2 = mysqli_fetch_array($sql2)) {
echo '<option selected="selected" value="' . $row2['genderID'] . '">' . $row2['genderName'] . "</option>";
}
echo "</select>";
echo " <p> Names </p>";
echo "<select class='form-control' name='name'>";
echo "'<option value=''></option>";
$sql = mysqli_query($con, "SELECT * FROM tableNames");
while ($row = mysqli_fetch_array($sql)) {
echo '<option selected="selected" value="' . $row['nameID'] . '">' . $row['name'] . "</option>";
}
echo "</select>";
?>
答案 0 :(得分:0)
您可以使用jQuery仅显示所需的select-options。 代码未经过测试!
$("input[name=gender]").change(function() {
var gender = this.value;
$("input[name=name] option").each(function() {
if ((gender == "your-male-id" && this.value >= 1 && this.value <= 10) ||
(gender == "your-female-id" && this.value >= 11 && this.value <= 20) ||
(gender == "your-both-id" && this.value >= 21 && this.value <= 30)
) {
$(this).show();
} else {
$(this).hide();
}
});
})