0
我正在使用幫助函數在Meteor中建立一個下拉列表。但是,用戶需要能夠在將來更新表單,因此我需要表單根據Mongo中的數據重新填充所有先前選擇的值。我可以使用我的收藏數據填充表單中的文本框和文本區域,但我無法將下拉列表中的值設置爲存儲在我的Mongo收藏中的值。在Meteor填充下拉列表
我想我現在的解決方案很接近。它適用於用戶在查看特定記錄時刷新頁面,但使用iron導航到模板的情況:路由器在模板完全呈現之前調用幫助函數,並將所選值保留在下拉空白處。如果我將邏輯移動到一個OnRendered塊,那麼我無法通過this.source動態獲取集合中的值。
有沒有人有任何想法,我可能能夠基於存儲到集合中的值來填充下拉列表的選定值?提前致謝!
<template name="leadForm">
<form id="newLeadForm">
<select class="form-control" name= "leadSource" id="leadSource">
<option disabled="disabled" selected="selected">Please Select</option>
{{#each categories}}
<option value="{{this}}">{{this}}</option>
{{/each}}
</select>
{{setDropdownValue}}
</form>
</template>
Template.leadForm.helpers({
'categories': function(){
return ["Option1", "Option2", "Option3"]
},
'setDropdownValue': function(){
$('#leadSource').val(this.source);
}
});
對不起,我想我是不是明確。模板填充下拉沒有問題。問題是,我無法將下拉菜單設置爲顯示所選選項。讓我更新原始問題,使其更清楚。 –
好吧這仍然是一個想法,我會更新上面的代碼。 – JeremyK
這是做到這一點的最好方法嗎?如果你有多種形式,我不知道這是否會成功。它看起來像在給定時間在Selected集合中存儲單個下拉值。 有沒有辦法做到這一點,你通過_id除了'this'在isSelected函數中? –