-2

我有一个包含 3 个下拉字段的网页。

国家

状态

城市

我需要对州(基于国家)和城市(基于州)应用过滤查找。

我想使用 Javascript 或 Jquery 来实现。

PS:该网站不基于任何微软技术或 PHP。

更新:我已经尝试了下面列出的各种示例,但我没有更接近过滤查找。

a) http://forum.jquery.com/topic/set-dropdown-list-selected-value-after-dynamically-populating

b) http://www.mkyong.com/jquery/how-to-set-a-dropdown-box-value-in-jquery/

c)如何在 jQuery 的 SELECT 元素中选择特定选项?

更新2

<form method="post">States:
<select name="Select1">
    <option>NJ</option>
    <option>NY</option>
    <option>PA</option>
    <option>TX</option>
</select>

<form method="post">City List:
<select name="Select2">
    <option>Trenton</option>
    <option>Albany</option>
    <option>Philly</option>
    <option>Newark</option>
    <option>NYC</option>
    <option>Pittsburgh</option>
    <option>Hackensack</option>
    <option>Niagara</option>
    <option>Harrisburg</option>
</select>

$(function () { var $States = $('select[name=Select1]'); var $Cities = $('select[name=Select2]');

var $citiesList = $Cities.find('option').clone();

var workerandFruits = {
    NJ: ["Trenton", "Newark", "Hackensack"],
    NY: ["Albany", "NYC", "Niagara"],        
    PA: ["Philly", "Pittsburgh", "Harrisburg"]
}

$States.change(function () {
    var $selectedWorker = $(this).find('option:selected').text();
    $Cities.html($citiesList.filter(function () {
         return $.inArray($(this).text(), workerandFruits[$selectedWorker]) >= 0;
    }));
});

});

4

1 回答 1

1

好的,让我们从这个开始:

$(function () {
    var citiesByState = {
        NJ: ["Trenton", "Newark", "Hackensack"],
        NY: ["Albany", "NYC", "Niagara"],
        PA: ["Philly", "Pittsburgh", "Harrisburg"]
    }

    $('select[name=state]').change(function () {
        var cities = citiesByState[$(this).val()];
        var opts = $.map(cities, function(name) {
            return "<option>" + name + "</option>";
        });
        $('select[name=city]').html(opts.join(""));
    });
});

http://jsfiddle.net/d8hY5/1/

如果您有任何问题,请告诉我们。

于 2013-10-01T16:16:35.297 回答