我可以使用jQuery来更改CascadingDropDown的值,但是触发该事件的原因永远不会发生,该事件导致目标控件的子下拉列表填充数据:

$("#<%= ddlFromCompetition.ClientID %>").change(function() {
  var fromValue = $("#<%= ddlFromCompetition.ClientID %>").val();
  $("#<%= ddlToCompetition.ClientID %>").val(fromValue); // causes value to change, but child doesn't update
});


需要明确的是,ddlFromCompetitionddlToCompetition不是父/子。 ddlToCompetition的子代不会使用上述代码进行更新。使用鼠标选择ddlToCompetition时,其子下拉列表会按预期更新。

我尝试调用$("#<%= ddlToCompetition.ClientID %>").change()尝试强制触发该事件,但是它不起作用。

最佳答案

您需要trigger()事件

$("#<%= ddlToCompetition.ClientID %>").trigger('change');


jQuery文档:http://api.jquery.com/trigger/

另外,由于ddlFromCompetition的第一个change事件处理程序在ddlFromCompetition的上下文中触发,因此您应该能够进行更改...

var fromValue = $("#<%= ddlFromCompetition.ClientID %>").val();


至...

var fromValue = $(this).val();

09-25 18:26