HTML:
<p>
@Html.LabelFor(m => m.SelectedCustomerId, new { @id = "dropdownlabel" })
@Html.DropDownListFor(m => m.SelectedCustomerId, Model.CustomerIDItem, new { @id = "customId" })
</p>
Javascript:
<script type="text/javascript">
$(function() {
$("#customId").change(function() {
var id = $(this).val();
$('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id, function (response, status, xhr) {
$("#divValues").html(response);
});
});
});
</script>
哪个完美.它加载局部视图(当下拉菜单更改时,更新页面上的表,而无需重新加载整个页面.我要做的是,当加载下拉列表时,它也应该首先加载所选的项目.
我的第一个想法是,它将是这样的:
<script type="text/javascript">
$(function() {
$("#customId").onload(function() {
var id = $(this).val();
$('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id, function (response, status, xhr) {
$("#divValues").html(response);
});
});
});
</script>
但是很明显它没有用,有什么想法吗?
提前致谢.
解决方法:
只需在页面加载时触发更改事件
$(function() {
$("#customId").change(function() {
var id = $(this).val();
$('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id);
}).change(); //trigger change event on page load
});
注意:您不需要使用$(“#divValues”).html(response),因为.load()函数已经为您完成了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。