我使用JavaScript使用ASP .NET MVC的Razor语法动态地向表添加行。将文本框分配给变量工作正常但是,当我想分配一个下拉列表时,它会抛出一个错误 - “意外的非法令牌”。
var expH = '@Html.DropDownList("TransDebit[{id}].Expenditure_Head",new SelectList(ViewBag.ExpCodes,"Expenditure_Code","Expenditure_Code"))';
转换为(从chrome控制台看到):
var expH = '<select id="TransDebit__id___Expenditure_Head" name="TransDebit[{id}].Expenditure_Head"><option value="313">313</option>
<option value="414">414</option>
</select>';
答案 0 :(得分:0)
感谢Stephen,我终于找到了解决办法。我所做的只是为这个变量创建一个隐藏的div:
<div id="NewDebit" style="display:none">
@Html.DropDownList("TransDebit[{id}].Expenditure_Head", new SelectList(ViewBag.ExpCodes, "Expenditure_Code", "Expenditure_Code"),"Select Expenditure Code")
</div>
和我的java脚本代码:
var ExpH = document.getElementById("NewDebit").innerHTML;
这很好用,我认为由于某些字符转义问题可能会出现错误。