根据以前的选择显示选择选项 [英] display select options based on previous selections

查看:97
本文介绍了根据以前的选择显示选择选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图显示下拉菜单的类别和子类别。自从我使用javascript以来已经有几年了,所以我遇到了一些问题。我只是没有填充html选择输入的代码。我不知道代码是否过于简单,或者如果我刚刚犯了一些小错误,但我似乎无法使它工作。也许有人可以告诉我我要出错的地方。谢谢。

 < html> 
< select name =catid =menu1class =menu>< / select>
< select name =subcatid =menu2class =menu>< / select>
< / html>

< script type =text / javascript>
$ b var data = {
category:[sub-category],
music:[sub-category,rock,punk ],
电影:[sub-categoy,喜剧,戏剧],
电视:[sub-catery,sit-com,肥皂剧],
}


for(var i in data){
$('#menu1')。append('< option>'+ i +'< / option>');


$ b $('#menu1')。change(function(){
var key = $(this).val();
$('#menu2')。empty();
for(var in data [key]){
$('#menu2')。append('< option>'+ data [key] [i] +'< / option>');
}
})。trigger('change');

< / script>


解决方案

您已发布jQuery代码。例如: $('#menu1')



所以一定要在脚本标记中调用jQuery库,并把所有这样的代码放入一个像这样的jQuery块中:

UPDATE

我已修复代码以使其正常工作。在这里看到它的行动: http://jsfiddle.net/QYcMt/1/

 < script type =text / javascriptsrc =http://ajax.googleapis.com/ajax/libs/jquery/1.7 0.2 / jquery.min.js>< /脚本> 

< script type =text / javascript>
$(函数(){

var data = {
category:[sub-category],
music:[
电影:[sub-categoy,喜剧,戏剧],
电视:[sub-catery ,sit-com,soap opera],
};


$ .each(数据,函数(键值){

$('#menu1')。append($('< option />').text(key));
});


$ ('#menu1')。change(function(){
var key = $(this).val();
$('#menu2')。empty();
for (data [key]){
$('#menu2')。append('< option>'+ data [key] [i] +'< / option>');

$ b})。trigger('change');

< / script>


i'm trying to display drop-down menus 'category'and subcategories. it's been a few years since I used javascript, so I am having some problems. the code I have simply is not populating the html select input. I don't know if the code is too simplistic or if I have just made some small error, but I cant seem to get it work. maybe someone can show me where I'm going wrong. Thanks.

<html>
    <select name="cat" id="menu1" class="menu"></select>
    <select name="subcat" id="menu2" class="menu"></select>
</html>

<script type = "text/javascript">

    var data = {
        "category":["sub-category"],
        "music": ["sub-category","rock", "punk"],
        "film": ["sub-categoy","comedy", "drama"],
        "tv": ["sub-catery","sit-com", "soap opera"],
    }


    for (var i in data) {
        $('#menu1').append('<option>' + i + '</option>');
    }


    $('#menu1').change(function() {
        var key = $(this).val();
        $('#menu2').empty();
        for (var i in data[key]) {
            $('#menu2').append('<option>' + data[key][i] + '</option>');
        }
    }).trigger('change');

</script>

解决方案

You've posted jQuery code. E.g.: $('#menu1')

So be sure to call the jQuery library in a script tag, and place all such code inside a jQuery block like this:

UPDATE

I've fixed the code to make it work. See it in action here: http://jsfiddle.net/QYcMt/1/

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script type = "text/javascript">
    $(function () { 

        var data = {
            "category":["sub-category"],
            "music": ["sub-category","rock", "punk"],
            "film": ["sub-categoy","comedy", "drama"],
            "tv": ["sub-catery","sit-com", "soap opera"],
        };


        $.each(data, function(key, value){            

            $('#menu1').append($('<option />').text(key));
        });


        $('#menu1').change(function() {
            var key = $(this).val();
            $('#menu2').empty();
            for (var i in data[key]) {
                $('#menu2').append('<option>' + data[key][i] + '</option>');
            }
        }).trigger('change');

</script>

这篇关于根据以前的选择显示选择选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆