当下拉选择通过模型改变时,如何触发jquery事件

本文关键字:何触发 事件 jquery 改变 模型 选择 | 更新日期: 2023-09-27 18:28:11

我有一个名称列表,旁边有一个编辑按钮。单击编辑按钮时,操作结果加载一个要编辑的分部,并在文本框中填写名称。在这个部分中,我还有一个下拉列表,显示了图像的文件名列表。我有更改事件的jquery代码来显示所选事件的一个小图像。当我更改下拉选择时,效果很好。但是,当我单击编辑按钮,在文本框中填写名称,并通过模型设置下拉列表的选择时,不会触发更改事件。

如果选择发生了更改,但用户没有更改,是否可以在下拉列表上触发更改事件?

你能在剃刀中的@if(…){…}行中触发一个jquery函数吗。

例如:

@if (m=>m.image.length >0)
{
   //do something here to trigger the change event of the drop down list
}

任何帮助都会很棒!!

当下拉选择通过模型改变时,如何触发jquery事件

我觉得没有必要在if条件中调用javadcropt事件。如果可以执行文档加载完成事件,则可以根据选择执行图像渲染。类似这样的东西:

$(function (){
  var selection = $(#'youdropdownid').val ();
  //do the things based on the value.

});

另一种方法是在元素上触发一个事件处理程序,如下所示:

$( "#yourdropdownd" ).trigger( "change" );

尽管我觉得手动调用事件处理程序是完全没有必要的。

也许你可以做一些类似的事情:

@if (m=>m.image.length > 0){  
    <script> 
        $( "#dropdownlist" ).trigger("change");   
    </script> 
} 

我把Felix和Qamar的两个建议结合起来,使它发挥了作用。

我已经在索引页上有Jquery代码了,其中部分是部分的一部分。我把触发代码放在脚本后面:

@section Scripts 
{
  <script>
    $(function () 
    {
      'use strict';
      $('#cbImages').on('change', function () {
      var imgurl = $('#cbImages :selected').val();
      if (imgurl != '') 
      {
        $('#imgPhoto').attr('src', '/PowerConnectorImages/' + imgurl);
        $('#imgPhoto').show();
      } 
      else 
      {
        $('#imgPhoto').hide();
      }
    });
  });
  </script>
  @if (Model.PowerConnector.ImageName != null)
  {
    if (Model.PowerConnector.ImageName.Length > 0)
    {
      <script>
        $(function () 
        {
          $('#cbImages').trigger('change');
        });
      </script>
    }
  }
}

我必须落后,因为更改事件代码需要首先存在。

谢谢你的建议!