使用jquery过滤选择框选项

时间:2011-03-09 13:09:38

标签: jquery

我有两个选择框,一个包含不同的国家/地区名称,另一个包含所有国家/地区的所有州名称。

然后,如果我从国家/地区选择框中选择India,则状态选择框需要单独显示India的所有状态,并从中删除所有其他状态。

我需要在JQuery中执行此操作,任何人都可以指导我!!!!!

2 个答案:

答案 0 :(得分:2)

在国家/地区数组下创建状态数组,onchange事件将其附加到州。

<script>


var states = [];

states['India'] = ["state 1", "state 1", "state 1"];



states['China'] = ["state 2", "state 2", "state 3"];


$(document).ready(function (){


    $('#country').change(
        function(){

            var temp = states[$(this).val()];

            $('#states').children().remove();

            for(var j=0; j<temp.length; j++){

                $('<option></option>').html(temp[j]).appendTo($('#states'));

            }

        }       
    )


})


</script>

<select id="country">
    <option id="India">India</option>
    <option id="Nepal">Nepal</option>       
    <option id="China">China</option>       
    <option id="Mongolia">Mongolia</option>             
    <option id="Russia">Russia</option>                     
</select>   

<select id="states">
    <option>null</option>
</select>

答案 1 :(得分:1)

你最好使用不同的方式

制作两个选择框1用于国家/地区 和另一个状态(默认禁用) 当usee从第一个选择框中选择国家/地区,然后在第二个选择框中通过ajax获取该国家/地区的所有状态..

这将是更好的方式,而不是将所有状态一起上传然后过滤