我遇到了Jquery和MVC3的问题我很确定它与模型绑定有关,我基本上是尝试使用jquery 将下拉列表加载到我的页面,现在这个例子在下面工作 ...
@model way.Models.servicer
@Html.DropDownListFor(model => model.adtype, new SelectList(
new List<Object>{
new { Text = " ", Value = " "},
new { Text = "Financial", Value = "Financial"}}, "Value", "Text"), new {@class="mylist" })
<script>
$(".mylist").change(function () {
if ($(this).val() == "Financial") {
$("#miness").load('/Listings/service .credit');
}
});
</script>
然后加载此下拉列表,模型服务器
@model way.Models.servicer
@Html.DropDownListFor(model => model.keyword, new SelectList(
new List<Object>{
new { Text = "Book-keeping", Value = "Book-keeping"},
new { Text = "Credit Repair", Value = "Credit Repair"}}, "Value", "Text"), new {@class="credit" })
上面的示例现在可以使用我基本上使用与此模型相同的步骤,但此示例不起作用
@model way.Models.article_detail
@Html.DropDownListFor(model => model.profile.groups, new SelectList(
new List<Object>{
new { Text = " ", Value = " "},
new { Text = "Computer", Value = "Computer"}}, "Value", "Text"), new {@class="bty"})
<script>
$(".bty").change(function () {
if ($(this).val() == "Computer") {
$("#miness").load('/Listings/ding .computer');
}
});
</script>
然后假设加载此下拉列表
@model way.Models.article_detail
@Html.DropDownListFor(model => model.profile.role, new SelectList(new List<Object>{
new { Text = "windows", Value = "windows"},new { Text = "mac", Value = "mac"}}, "Value", "Text"), new { @class = "computer" })
我不知道为什么1个有效,而另一个没有。有一个小差异,第二个例子在1个视图中有2个模型,因此 model.profile.role 可能不知何故,1个视图中的2个模型正在抛弃但是我引用了类,所以我不这样做知道发生了什么建议吗?
答案 0 :(得分:0)
如果是,则通过jquery ajax加载下拉列表然后必须将jquery事件重新绑定到控件,因为只有在jquery之前加载dom元素时,jquery绑定才有效。