【问题标题】:$('#details').change() doesn't execute function$('#details').change() 不执行函数
【发布时间】:2019-06-08 21:01:33
【问题描述】:

我有以下代码:

$('#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")

【问题讨论】:

  • 请张贴您的html
  • 为什么ResetFilter() 函数中有所有这些语句标签?您永远不会将 用于任何事情。
  • 你在哪里打电话ResetFilters()
  • 你为什么要这样混合jQuery和普通的JS语法?只需写$("#LowestPrice").val(0)
  • @azeós 在一个按钮上单击,我已经验证了 resetfunction 被调用

标签: javascript jquery html asp.net


【解决方案1】:

details 是一种形式,也许你的意思是

$('#details').on('submit', (e) => {
console.log('change detected');
$('#details').find('*').attr('disabled', true);
$.ajax({
   //...
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2016-04-11
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多