javascript - 多选框中的值在选择时消失

标签 javascript java jquery multiple-select

所以我有一个 2 个多选框(一个用于楼层,一个用于房间)。房间中的值取决于楼层。如果您选择楼层:001,房间中的所有值将从 1 开始,如果您选择楼层:002,房间中的所有值将从 2 开始,依此类推。但是当我在 Room 中选择值时,所有值都会消失,这是我的脚本:

<script type="text/javascript">
$(document).ready(

        function()
        {
              var selectArr = []; 
              $("select").change(function(){
                  var arr = $(this).val()
                   selectArr.push(arr);
                   console.log(arr)
                   populateRooms();
                   clearArray();
                });


              function clearArray() {
                  return selectArr = []
                }     

        function populateRooms() {
        $.ajax({

                type: "GET",
                url: "/hms/shifts/" + selectArr,
                success: function (response) {
                 $('#_rooms_id').empty();
                    var myObject = eval('(' + response + ')');
                    for (i in myObject)
                    {
                        $('#_rooms_id').append(
                                $('<option></option>', 
                                { 
                                    value: myObject[i]["id"],
                                    text: myObject[i]["roomNumber"]
                                }
                                )
                             );
                    }

                },
               error: function (e){
                   alert("Error" + e)
               }
           });
        }

        });

  </script>

我认为这是因为 .empty() 但如果我删除 room 中的所有值都会显示,将不会有过滤器。我希望有一个人可以帮助我。新手在这里。谢谢。

最佳答案

我猜你应该只在楼层选择中添加事件来填充房间选择

此代码将 onChange 事件添加到代码中的所有下拉列表中:

 $("select").change(function(){
              var arr = $(this).val()
               selectArr.push(arr);
               console.log(arr)
               populateRooms();
               clearArray();
            });

更改为:

$("#floors-dropdownId").change(function(){
              var arr = $(this).val()
               selectArr.push(arr);
               console.log(arr)
               populateRooms();
               clearArray();
            });

关于javascript - 多选框中的值在选择时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40761579/

相关文章:

javascript - "Listening"到来自 Capybara/Selenium 的 AJAX 调用 - Rails

javascript - 将 JavaScript 输出移动到其他区域

java - 创建流而不是临时文件并使用它们并丢弃它们

Java 检查变量是否已初始化

jquery - 为数据表选择最快的模板插件

javascript - ajax请求的方法

javascript - 如何在 div 上保持 16/9 的纵横比而不让它溢出到容器外?

javascript - VS 2010 Javascript 匹配大括号/括号突出显示

java - 用Java程序读取Java的属性文件

javascript - 如何在 javascript 中的 Jquery DataTables 中进行搜索后显示原始的完整数据列表