0
我有一个DB = Staff和一个collection =记录的mongoDB。它包含一系列员工,其中一个字段是工作组,其中包含“管理”,“工会”,“支持人员”等项目。来自Mongo的动态下拉菜单
我想填充下拉列表中的值工作组字段,然后用它从下拉列表中选定的指定值中检索所有记录。
我正在使用Ruby,我可以检索值(我可以在控制台中看到它们),但它们不会填充下拉列表。
这是我的Ruby代码:
get '/workgroup' do
Record.all.to_a.collect(&:workgroup).uniq.to_json
end
我在JavaScript的尝试是:
<script>
//var json = 'http://localhost:4567/api/v1/workgroup';
$(document).ready(function()
{
$.getJSON("/api/v1/workgroup",function(obj)
{
$.each(json.records,function(key,value)
{
var option = $('<option />').val(value.workgroup);
$("#dropDownDest").append(option);
})
})
});
</script>
一旦我得到在下拉列表中的信息,我想用它来返回所有记录将该工作组值添加到表中。我还没有想出那部分。一步一步来!
谢谢!
谢谢!我认为你在正确的轨道上。至少现在,当我点击它时,下拉列表会展开,但其中仍然没有数值。我查看了正在返回的数据,它似乎是一串字符串。它看起来像这样 [“管理”,“联盟”,“支持人员”] 这可能是导致问题,因为它不是在一个严格的JSON键/值语法? – user2843365
在你的ruby代码中你调用'.collect(&:workgroup)',所以它只返回一个工作组列表。 –
您应该在JavaScript中放置一个断点,或者使用一些警报来查看'obj'值是什么样,以及'key'和'value'设置的是什么。如果你只是用'obj'来替换'json.records',我不认为它会解决它,因为你仍然在执行'value.workgroup',但在这种情况下'value'只是一个字符串列表,没有'workgroup'键或方法来调用。 –