手动更改级联下拉列表序列中的5个下拉列表,但无论如何都具有级联效果

时间:2010-07-07 20:43:31

标签: asp.net-ajax

我有一个有5个级联下拉菜单(Asp.Net AJAX)的表单。我现在需要手动设置第二个下拉值(通过javascript),但是根据我设置的值保留剩余的下拉级联。

我尝试了以下选项,但它们似乎都没有帮助解决问题:

  1. $ find(“cddName”)。set_SelectedValue(value,''); - 这个似乎甚至没有改变下拉列表中的选定值。我用这种语法做错了吗?
  2. _onParentChanged(null,null) - 似乎没有触发任何内容
  3. raiseSelectionChanged(null) - 即使这似乎也没有触发任何内容。
  4. 我是否遗漏了某些东西或是否有一种简单的方法可以完成这项工作?

    我也在使用jQuery,如果我使用jQuery设置下拉列表的val(),它会设置它(下拉列表的值),但是,没有任何剩余的级联行为被执行。

    提前感谢任何建议:)

1 个答案:

答案 0 :(得分:1)

我想到了我错过的东西(我想在任何地方都没有明确提到过)。需要在需要更新的每个子级的级联下拉对象上调用_onParentChange()函数。

所以,是的,_onParentChange(null,null),运行正常。它只是你需要在所有需要更新的级联下拉菜单上调用它,而不是在你正在更改值的那个上。

示例:

  • DD1 - CDD1
  • DD2 - CDD2
  • DD3 - CDD3
  • DD4 - CDD4

  • DD2依赖于DD1

  • DD3和DD4依赖于DD2

您要遵循的步骤是:

  1. 更新DD2的选定值
  2. 获取CDD3和CDD4的对象
  3. 为CDD3和CDD4调用_onParentChange(null,null)。
  4. 这将更新CDD3和CDD4中的值。