将数据加载到动态填充的分部视图中的选择下拉菜单
Load data to a Select Dropdown menu int a dynamically populated Partial View
我正在使用Javascript将部分视图动态加载到DIV中:
$.ajax({
url: '@Url.Action("Details","User")',
data: { id: userId},
type: 'post',
success: function (data) {
$("#user-details").show().html(data);})
显示时,我想填充一些下拉菜单供用户进行选择。假设我想填充"用户类别"列表
所以在上面的ajax调用成功时,我做:
$.getJSON('@Url.Action("GetUserCategories","User")',function(data) {
$.each(data, function (key, item) {
$("#userCategories-list").append(
$("<option></option>").text(item.Name).val(item.Id)
);
});
});
未填充用户类别列表。
我认为这是因为包含用户类别下拉菜单的用户详细信息源 html 是动态呈现的并且没有显示在页面上?
如何访问和填充我的"userCategories-list"下拉菜单,该菜单与ajax调用一起显示,以及当我查看页面源代码/Firebug时看不到的HTML/控件名称?
提前谢谢你。
不能肯定地说,但我的猜测是,当您调用列表创建函数时,您的部分视图不是浏览器 DOM 的一部分。事实上,我没有看到任何代码将您的部分加载到浏览器中进行渲染。
您是否尝试过使用Firebug或chrome调试器进行调试?您可以在函数中设置断点,并查看实际发生的情况。
$.ajax({
url: '@Url.Action("Details","User")',
data: { id: userId},
type: 'post',
success: function (data) {
$("#partialContainer").html(data);
$.getJSON('@Url.Action("GetUserCategories","User")',function(listData) {
$.each(listData, function (key, item) {
$("#userCategories-list").append(
$("<option></option>").text(item.Name).val(item.Id)
);
}); //each
)); //getJson
} //success anon function
}); //$.ajax
相关文章:
- 取消选择滚动启动时的所有列表视图项目
- 当我认为它不应该重新渲染视图时,如何防止 Meteor 在 html 选择 dom 单击事件上重新渲染视图
- 如何让日历视图在 html 页面中选择时间段
- 当您选择不同的视图时,Google文件选择器示例会中断,例如google.picker.ViewId.DOCS
- 收听单选按钮取消选择事件而不知道按钮's上下文(骨干视图)
- ExtJs视图中的ref选择器
- Ember.选择selectionBinding在加载视图时激发
- 计数或选择主干视图实例
- jQuery日期选择器在Firefox和IE的MVC部分视图上进行ajax更新后无法工作
- 如何将空白选项添加到木偶收藏视图生成的选择中
- 主干视图可以't访问jQuery选择器
- Javascript 日期选择器视图格式 asp.net MVC
- jQuery 图层选择器类型插件或可自定义的列表视图插件
- 用于引导程序选择的挖空自定义绑定,不更新视图模型“选定类别/选定类别”
- IE9在视图外元素上选择AllChildren
- 删除类后的添加类在选择同一节点时在剑道树视图中不起作用
- 根据在上一个视图中选择的列表项动态填充 HTML 模板
- 网格视图选择命令字段未在更新面板中激发
- Sencha ExtJs视图选择模式
- extjs4:列表视图选择图像id并在其他面板上显示图像