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 に答える