使用.trigger()时未触发JavaScript更改事件

使用.trigger()时未触发JavaScript更改事件,javascript,jquery,Javascript,Jquery,我编写了一个JavaScript.change()事件,因此当单选按钮选择被更改时,会发生不同的事情,当我手动进行此更改时,会触发事件,一切正常。不起作用的是,当我调用单选按钮上的.trigger(“change”)命令时,事件似乎没有触发,因为.change()调用中没有任何代码运行。通过JavaScript代码触发事件的正确方式是什么 下面是我用来进行事件调用的代码: $("input[name=TimespanEntryMode]").trigger("change"); 下面是应在更改

我编写了一个JavaScript
.change()
事件,因此当单选按钮选择被更改时,会发生不同的事情,当我手动进行此更改时,会触发事件,一切正常。不起作用的是,当我调用单选按钮上的
.trigger(“change”)
命令时,事件似乎没有触发,因为
.change()
调用中没有任何代码运行。通过JavaScript代码触发事件的正确方式是什么

下面是我用来进行事件调用的代码:

$("input[name=TimespanEntryMode]").trigger("change");
下面是应在更改事件上运行的代码:

$("input[name=TimespanEntryMode]").change(function ()
{
    $("#TimeEntryStartTime").toggleClass("hidden");
    $("#TimeEntryEndTime").toggleClass("hidden");
    $("#TimeEntryDuration").toggleClass("hidden");
    $(".timeEntryBox").val("");
});
应HTML的要求:

    <li>
    <label>Time Entry Mode:</label>

    <label class="normal">
        <input type="radio" id="TimeEntryModeTime" name="TimespanEntryMode" value="true" checked="checked" />Time
    </label>

    <label class="normal">
        <input type="radio" id="TimeEntryModeDuration" name="TimespanEntryMode" value="false" />Duration
    </label>
</li>

<li id="TimeEntryStartTime">
    <label>Start Time:</label>
    @Html.DropDownListFor(m => m.SelectedStartDay, Model.DaysOfTheWeek, new { @class = "dayOfTheWeekSelector", @id = "SelectedStartDay" })
    @Html.EditorFor(m => m.StartTime, new { htmlAttributes = new { @class = "timeEntryBox", @id = "StartTimeEntryBox", @readonly = "readonly" } })
</li>

<li id="TimeEntryEndTime">
    <label>End Time:</label>
    @Html.DropDownListFor(m => m.SelectedEndDay, Model.DaysOfTheWeek, new { @class = "dayOfTheWeekSelector", @id = "SelectedEndDay" })
    @Html.EditorFor(m => m.EndTime, new { htmlAttributes = new { @class = "timeEntryBox", @id = "EndTimeEntryBox", @readonly = "readonly" } })
</li>

<li id="TimeEntryDuration" class="hidden">
    <label>Duration:</label>
    @Html.DropDownListFor(m => m.SelectedStartDay, Model.DaysOfTheWeek, new { @class = "dayOfTheWeekSelector", @id = "SelectedDurationStartDay", @Name = "SelectedDurationStartDay" })
    H:@Html.DropDownListFor(m => m.SelectedDurationHour, Model.DurationHours, new { @class = "durationTime", @id = "DurationHour" })
    M:@Html.DropDownListFor(m => m.SelectedDurationMinute, Model.DurationMinutes, new { @class = "durationTime", @id = "DurationMinute" })
</li>
  • 时间输入模式: 时间 期间
  • 开始时间: @Html.DropDownListFor(m=>m.SelectedStartDay,Model.DaysOfTheWeek,new{@class=“daysofweekselector”,@id=“SelectedStartDay”}) @EditorFor(m=>m.StartTime,new{htmlAttributes=new{@class=“timeEntryBox”,@id=“StartTimeEntryBox”,@readonly=“readonly”})
  • 结束时间: @Html.DropDownListFor(m=>m.selectedededDay,Model.DaysOfTheWeek,new{@class=“daysofweekselector”,@id=“selectedededDay”}) @EditorFor(m=>m.EndTime,new{htmlAttributes=new{@class=“timeEntryBox”、@id=“EndTimeEntryBox”、@readonly=“readonly”}})
  • 持续时间: @Html.DropDownListFor(m=>m.SelectedStartDay,Model.DaysOfTheWeek,new{@class=“dayofweekselector”、@id=“SelectedDurationStartDay”、@Name=“SelectedDurationStartDay”}) H:@Html.DropDownListFor(m=>m.SelectedDurationHour,Model.DurationHours,new{@class=“durationTime”,@id=“DurationHour”}) M:@Html.DropDownListFor(M=>M.SelectedDurationMinute,Model.DurationMinutes,new{@class=“durationTime”,@id=“DurationMinute”})

  • 您必须指定一个要触发更改的收音机:

    $("input[name=TimespanEntryMode]:eq(index_here)").trigger("change");
    ____________________________________^^^^^^^^^^
    
    希望这有帮助

    $(“#切换”)。打开('click',function(){
    $(“输入[name=TimespanEntryMode]:eq(0)”).trigger(“更改”);
    });
    $(“输入[name=TimespanEntryMode]”)。更改(函数(){
    警报(“切换”);
    });
    
    
    
  • 时间输入模式: 时间 期间

  • 切换
    您必须指定一个要触发更改的收音机:

    $("input[name=TimespanEntryMode]:eq(index_here)").trigger("change");
    ____________________________________^^^^^^^^^^
    
    希望这有帮助

    $(“#切换”)。打开('click',function(){
    $(“输入[name=TimespanEntryMode]:eq(0)”).trigger(“更改”);
    });
    $(“输入[name=TimespanEntryMode]”)。更改(函数(){
    警报(“切换”);
    });
    
    
    
  • 时间输入模式: 时间 期间

  • 切换
    您也可以共享HTML吗?看起来,由于有多个单选按钮,您可能需要以不同的方式执行此操作。在浏览器控制台中,过去的
    $(“输入[name=timespan entrymode]”)是否选择了所需的
    input
    元素?@PraveenKumar根据请求添加了HTML,实际上有两个按钮,每个按钮具有唯一的ID,但名称相同。当我在浏览器中来回单击时,
    .change()
    事件触发良好。@Matthew何时以及如何调用
    触发器()
    ?触发更改事件时,每个单选按钮都会发生一次。第一个事件切换类,第二个事件再次切换类,使其看起来好像什么都没有发生。您也可以共享HTML吗?看起来,由于有多个单选按钮,您可能需要以不同的方式执行此操作。在浏览器控制台中,过去的
    $(“输入[name=timespan entrymode]”)是否选择了所需的
    input
    元素?@PraveenKumar根据请求添加了HTML,实际上有两个按钮,每个按钮具有唯一的ID,但名称相同。当我在浏览器中来回单击时,
    .change()
    事件触发良好。@Matthew何时以及如何调用
    触发器()
    ?触发更改事件时,每个单选按钮都会发生一次。第一个事件切换类,第二个事件再次切换类,使其看起来好像什么都没有发生。