我有2个不同的下拉列表。
第一个返回客户列表。
<div class="form-group">
Company Name: <select id="Company" name="formValue[Company]" onchange="queryMaint(this.id,'MaintContract')">
<% varCustomerList.forEach(function (customer) { %>
<option value="<%= customer._id %>"><%= customer.Name %></option>
<% }); %>
</select>
</div>
第二个下拉菜单是根据第一个下拉菜单中选择的内容显示合同。
<div class="form-group">
Maint Contract: <select id="MaintContract" name="formValue[MaintContract] onchange="selectedMaintContract"></select>
</div>
我还创建了如下的javascript。使用猫鼬模型中的猫鼬findById。
<script>
function queryMaint(s1,s2){
var MaintContractDetail = require("../../../models/maintcontract")
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
MaintContractDetail.findById(s1).exec(function(err, varMaintValue){
if(err){
req.flash("error", err);
res.redirect("back");
} else {
varMaintList.forEach(function (maint)){
var maintOption = document.createElement("option");
maintOption.value = varMaintValue._id;
maintOption.innerHTML = varMaintValue.Name;
console.log(maintOption);
s2.options.add(maintOption);
});
}
});
}
</script>
但是对于第二个下拉菜单,我没有得到任何结果。
我对此并不陌生,我的一个同学建议不能直接从ejs中使用猫鼬函数。请为我指出正确的方向或达成此要求的替代方法。