【问题标题】:Populate chained select menu填充链式选择菜单
【发布时间】:2013-03-30 08:31:27
【问题描述】:

我正在开发一个链式选择菜单,您可以在此处查看 - http://jsfiddle.net/stocktrader/EhUKJ/。我对其进行了编码,以便“国家”选择通过显示/隐藏更改“州/邮编/城市”选项。所有这些都运行良好。

但我的问题是,此表单还用于更新每个人的此信息。当我用当前数据填充表单时,我无法根据国家/地区设置触发正确的显示/隐藏设置。您可以在当前小提琴中看到一个示例,其中我预先选择了“美国”,但没有出现“城市/州/邮编”选项。如果您点击不同的国家/地区然后重新打开,则会出现 DO。

我试图编写一些 JavaScript,通过检索“国家”值来更改填充的显示/隐藏设置,但我根本不知道 JavaScript。我尝试了下面的代码,它在小提琴中,但我怀疑它是否接近。

var s = document.getElementById('country');
var item1 = s.options[s.selectedIndex].value;
function cty()
{
    if (item1 == 'group1')
    unhide('.group1_opts');
}

【问题讨论】:

  • 对于未来 - tag 你的 JS/jQuery 问题会相应地得到更快的回复 :)
  • 我注意到的一个问题是,当我在同一页面上放置一个单独的选择框时,其他选择框也会在我不希望它触发时触发这些操作,您可以在此看到小提琴-link。有没有办法将触发器链接到一个特定的选择菜单?谢谢
  • 当然 - 更改您的选择器以反映唯一可识别的元素(或集合)。通常你通过匹配#id.class 来做到这一点,但你也可以通过属性匹配,例如,在你的脚本中类似于$('select[name=xx]').doSomething() - [see documentation]

标签: javascript jquery chained sql


【解决方案1】:

当您将一个函数绑定到 jQuery 中的任何事件处理程序时 - 只需在没有参数的情况下再次调用该处理程序即可触发它的执行。

例如。 $('select').change(); 将运行您应用的“更改组”功能 - 在这种情况下,将处理任何“预选”选项。

updated your fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2023-03-25
    • 1970-01-01
    • 2016-01-28
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多