我有以下代码:
$('#details').on('change', (e) => {
console.log('change detected');
$('#details').find('*').attr('disabled', true);
$.ajax({
//...
});
function ResetFilters() {
$('#Neighbourhoods')[0].selectedIndex = 0;
$('#LowestPrice')[0].value = 0;
$('#HighestPrice')[0].value = 999;
$('#LowestReviews')[0].value = 0;
$('#HighestReviews')[0].value = 10;
$('#details').change();
}
不幸的是$('#details')。change();不执行上面定义的onchange方法。
我也尝试过$('#details')。trigger('change');但这也不起作用。
有人知道我在做什么错吗?
欢迎任何建议。
编辑:
这是我的html(我使用asp.net)
@model AirBnB.ViewModels.ListingsViewModel
@await Html.PartialAsync("City", Model.Details)
<hr/>
<h4>Filters</h4>
<form action="/" method="post" id="details" class="details-block">
@await Html.PartialAsync("Neighbourhoods", Model.Details)
@await Html.PartialAsync("Prices", Model.Details)
@await Html.PartialAsync("Reviews", Model.Details)
@await Html.PartialAsync("ResetFilters")
</form>
<script src="~/js/filter.js" asp-append-version="true"></script>
<hr/>
@await Html.PartialAsync("Charts")
最佳答案
细节是一种形式,也许你的意思是
$('#details').on('submit', (e) => {
console.log('change detected');
$('#details').find('*').attr('disabled', true);
$.ajax({
//...
});