使用 jquery 单击 select 时如何刷新下拉菜单?

How to refresh drop down when click on select using jquery?

我在 mvc 中有一个下拉列表

@Html.DropDownList(
  "Name", 
  new SelectList(Model.Product, "Value", "Text"), 
  string.Concat("-- ", "Please select the item", " --"), 
  new { id = "Product", Class = "form-control" }
)

我动态填充下拉列表。它工作正常。一切正常。当我更改项目时,我使用 jquery onchange 方法执行我想要的操作并刷新下拉列表。但是我想在用户单击 "Please select the item" 时刷新下拉菜单。当我点击 select 时,不会调用 onchange 方法。我该怎么做?

$DropDown.on("change", function () {


            //Here i perfome action
        });
$(document).ready(function(){

    $('#dropdownlistname').change(function(e){
       // Your event handler
    });

    // And now fire change event when the DOM is ready
    $('#dropdownlistname').trigger('change');
});

更多信息Here

编辑

您应该为 on 函数提供一个选择器:

$(document).on('change', 'input', function() {
  // Does some stuff 
});

在那种情况下,它将按您的预期工作。这是 Fiddle 使用 on 函数

您可能想要提取 "onchange" 函数以便重新使用它。类似的东西

var changeCallback = function(e) {
  // chage logic
}
$("#dropdownlistname").on("change", changeCallback);
$("#dropdownlistname").on("click", changeCallback);

user2052156 的答案看起来不错,但如果您希望 'click' 仅在第一次发生,那么您可以在第一次调用后删除点击处理程序:-

$DropDown.on('click change', function(){

    //Here i perfome action

    $(this).off('click');
});

Fiddle