2

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

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

要清楚,ddlFromCompetition并且ddlToCompetition不是父母/孩子。ddlToCompetition使用上面的代码没有更新它的孩子。使用鼠标进行选择时ddlToCompetition,其子下拉列表会按预期更新。

我试过打电话$("#<%= ddlToCompetition.ClientID %>").change()试图强制事件触发,但它不起作用。

4

1 回答 1

0

您需要 trigger() 事件

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

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

此外,因为 ddlFromCompetition 的第一个更改事件处理程序在 ddlFromCompetition 的上下文中触发,所以您应该能够更改...

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

至...

var fromValue = $(this).val();
于 2010-08-03T15:29:45.083 回答