我有以下代码:

$('#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({
   //...
});

08-16 15:42