我正在尝试将函数应用于MVC4表单中的下拉列表。然而,变量周围的"'“在HTML中一直呈现为”‘“。显然,对于javascript来说,这不是我想要的。我目前使用的代码如下:
@Html.DropDownListFor(t => t.tabPosition, new SelectList(ViewBag.DdlPositions), new { onclick = Html.Raw("ddlChain(this.id, '" + Html.DisplayNameFor(t => t.relTab) + "', '')") })生成的html如下所示
<select id="tabPosition" name="tabPosition" onclick="ddlChain(this.id, 'relTab, '')">
<option>Start</option>
<option>End</option>
<option>Before</option>
<option>After</option>
</select>或者,有没有更好的方法将js函数分配给MVC中的输入?
谢谢
发布于 2013-11-11 23:42:39
将代码的第一部分更改为:
@Html.DropDownListFor(t => t.tabPosition, new SelectList(ViewBag.DdlPositions), new Dictionary<string,string>{{ "data-tab", Model.relTab }})使用data-tab属性创建select element。
现在,我们只需要创建一个javascript来读取data-tab值并调用您的ddlChain函数。
$('#tabPosition').on('change', function() {
var $this = $(this);
ddlChain($this.attr('id'), $this.attr('data-tab'), '');
});https://stackoverflow.com/questions/19909136
复制相似问题