JQuery 链式过滤器下拉列表

发布于 2024-08-28 04:48:13 字数 338 浏览 4 评论 0原文

我正在尝试仅使用 javascript - jquery 来实现链式过滤器下拉列表。

我需要的解决方案是 http://www.codeassemble.com/Simple -chained-combobox-plugin-for-jQuery

但是我无法使用这个解决方案,因为它依赖于 PHP 文件。有没有办法仅使用 javascript(客户端和/或服务器端)来实现这一点?

非常感谢

I'm trying to implement chained filter dropdown using just javascript - jquery.

The solution I need is http://www.codeassembly.com/Simple-chained-combobox-plugin-for-jQuery.

However I can't use this solution as it depends on a PHP file. Are there ways to implement this solely using javascript (client and/or serverside)?

Many Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╰◇生如夏花灿烂 2024-09-04 04:48:13

对于不需要任何其他数据源或数据文件的简单 jQuery 插件。您可以使用:

http://code.google.com/p/jquery-option -tree/

所有选项都在 JS 代码中定义,希望您不会有很大的数据集。

<input type="text" name="demo1" />

    var option_tree = {
       "Option 1": {"Suboption":200},
       "Option 2": {"Suboption 2": {"Subsub 1":201, "Subsub 2":202},
             "Suboption 3": {"Subsub 3":203, "Subsub 4":204, "Subsub 5":205}
            }
    };

    $('input[name=demo1]').optionTree(option_tree);

For a simple jQuery plugin that doesn't need any other datasource or data file. You can use:

http://code.google.com/p/jquery-option-tree/

All the options get defined in the JS code, hopefully you wont have a large dataset.

<input type="text" name="demo1" />

    var option_tree = {
       "Option 1": {"Suboption":200},
       "Option 2": {"Suboption 2": {"Subsub 1":201, "Subsub 2":202},
             "Suboption 3": {"Subsub 3":203, "Subsub 4":204, "Subsub 5":205}
            }
    };

    $('input[name=demo1]').optionTree(option_tree);
椵侞 2024-09-04 04:48:13

很抱歉公然的自我推销,但我之前也遇到过同样的问题,并编写了 Chained Selects 插件来满足我的需求。它与 Glennular 提供的类似,但也有一些差异。它不是从 JSON 数组构建选择,而是使用 HTML 的类属性来确定应显示哪些选项。例如:

<select id="mark">
  <option value="">--</option>
  <option value="bmw">BMW</option>
  <option value="audi">Audi</option>
</select>
<select id="series">
  <option value="">--</option>
  <option value="series-3" class="bmw">3 series</option>
  <option value="series-5" class="bmw">5 series</option>
  <option value="series-6" class="bmw">6 series</option>
  <option value="a3" class="audi">A3</option>
  <option value="a4" class="audi">A4</option>
  <option value="a5" class="audi">A5</option>
</select>

然后,您可以使用以下 JavaScript 将它们链接起来:

$("#series").chained("#mark"); 

或者如果您更喜欢更长的形式:

$("#series").chainedTo("#mark");

您可能还想检查单独的 演示页面

Sorry about blatant self promotion, but I had same problem earlier and wrote Chained Selects plugin to fit my needs. It is similar to what Glennular offered but with some differences. Instead of building the selects from JSON array it uses class attributes of HTML to figure out which options should be shown. For example:

<select id="mark">
  <option value="">--</option>
  <option value="bmw">BMW</option>
  <option value="audi">Audi</option>
</select>
<select id="series">
  <option value="">--</option>
  <option value="series-3" class="bmw">3 series</option>
  <option value="series-5" class="bmw">5 series</option>
  <option value="series-6" class="bmw">6 series</option>
  <option value="a3" class="audi">A3</option>
  <option value="a4" class="audi">A4</option>
  <option value="a5" class="audi">A5</option>
</select>

You would then make them chained with following JavaScript:

$("#series").chained("#mark"); 

or if you prefer longer form:

$("#series").chainedTo("#mark");

You might also want to check the source of separate demo page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文