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'鍵或方法來調用。 –