java—当选择了另一个select标记时,如何在数据库中检索值并在jsp select标记中显示?

bzzcjhmw  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(304)

在我正在工作的项目中,有一个包含以下字段的数据库表:

在数据库表中,我想显示病房中的可用床位,当选择病房时,这些床位没有被占用,那么in bed select标签应该只显示可用床位。
jsp表单选择标记代码为:

<div class="form-group">
                            <label for="course">Ward No:</label>
                                    <div class="form-select">
                                <select name="Ward" id="course">
                                    <option value="0">--Select Ward No---</option>
                                    <option value="ward1">1</option>
                                    <option value="ward2">2</option>
                                    <option value="ward3">3</option>
                                    <option value="ward4">4</option>
                                    <option value="ward5">5</option>
                                    <option value="ward6">6</option>
                                    <option value="ward7">7</option>
                                    <option value="ward8">8</option>
                                    <option value="ward9">9</option>
                                    <option value="ward10">10</option>
                                    <option value="ward11">11</option>
                                    <option value="ward12">12</option>
                                </select>
                                <span class="select-icon"><i class="zmdi zmdi-chevron-down"></i></span>
                            </div>
                                 </div>
                                 <div class="form-group">
                            <label for="bed">Bed No:</label>
                                    <div class="form-select">
                                        <select name="Bed" id="course">     
                                    <option value="0">--Select Ward No---</option>
                                    <option value="bed1">1</option>
                                    <option value="bed2">2</option>
                                    <option value="bed3">3</option>
                                    <option value="bed4">4</option>
                                    <option value="bed5">5</option>
                                    <option value="bed6">6</option>
                                    <option value="bed">7</option>
                                    <option value="bed8">8</option>
                                    <option value="bed9">9</option>
                                    <option value="bed10">10</option>
                                    <option value="bed11">11</option>
                                    <option value="bed12">12</option>
                                </select>

                                <span class="select-icon"><i class="zmdi zmdi-chevron-down"></i></span>
                            </div>
                                 </div>

所以问题是我该怎么做?
我是新的java开发和这是我的第一个项目,所以请原谅,如果有任何愚蠢的错误被发现。
谢谢你的帮助,非常感谢。

rnmwe5a2

rnmwe5a21#

选择病房号后,您可以使用for循环从数据库中生成select标记作为字符串,并在html上打印结果

mm9b1k5b

mm9b1k5b2#

您的问题的简单答案是ajax
选择病房号后,执行ajax调用从db获取可用床位。动态形成床下拉列表。
例子:

<select name="Ward" id="course" onChange="fetchAvailableBeds()">
......
</select>

function fetchAvailableBeds()
{
    var wardNo = $("#course").val();
    var queryUrl = "REST_URL";
    $.ajax({
    url     : URL,
    data    : "wardNo="+wardNo,
    type    : "POST",
    success : function(data, textStatus, jqXHR)
    {
        var responseJSON = jqXHR.responseText;
        var responseParsedJSON = JSON.parse(responseJSON);

        var bedDetails = responseParsedJSON.bedDetails;
        if(bedDetails.length > 0)
        {
            $('#bed').empty().append('<option>--Select Bed--</option>');
            for(var i=0;i<bedDetails.length;i++)
            {
                $('#bed').append('<option value="'+bedDetails[i].name+'">'+bedDetails[i].id+'</option>' );
            }
        }
        else
        {
            $('#bed').empty().append( '<option>--No Beds Available--</option>');
        }

     }
  });
}

相关问题