首页 文章

如何根据其他选择选项禁用选择选项

提问于
浏览
0

我有两张桌 gendernames
名称表有以下列表:

  • 从名称ID 1到名称ID 10的男性名称
  • 从nameID 11到nameID 21的女性姓名
  • 从nameID 23到nameID 31

性别表有三个属性:

  • 两者

我正在使用bootstrap选项我希望显示名称从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>";


?>

1 回答

  • 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();
            }
        });
    })
    

相关问题