javascript - jQuery 链式选择菜单的简单问题

标签 javascript jquery

用 Javascript 构建的我的链式选择菜单几乎可以完美运行:

演示:http://jsfiddle.net/seqL2cfo/

但是,当我选择US > Alaska 然后返回Choose a State... 时,所有US 结果都消失了。然后,当我将默认国家/地区更改为选择国家/地区...时,所有结果都会消失。

为什么无法恢复到默认状态?

Javascript:

jQuery('#cat').change(function () {
    var val = jQuery(this).val();
    jQuery("#statecat").toggle(val == "us");

    if (val == "0") 
        jQuery('#countries_select').siblings('div').show();
    else {
        jQuery('form').siblings('div').hide();
        jQuery('.' + val).show();
    }
});

jQuery('#statecat').change(function() {
    jQuery('.state1').hide();
    jQuery('.' + jQuery(this).val()).show();
});


jQuery("#countries_select select").change(function(){
    console.log(jQuery(this).val())

    if( jQuery(this).val() == "us"){
        jQuery("#state_select").show();
    } else {
        jQuery("#state_select").hide();
    }

    jQuery("ul.countries > li").hide()
    jQuery("ul.countries ." + jQuery(this).val() ).css("display", "block")
})

谢谢

最佳答案

您必须检查选择的值是否为 0/空,然后显示所有国家/州:

if(jQuery(this).val()  == ''){
      jQuery("ul.countries > li").show()
}else{
    jQuery("ul.countries > li").hide()
    jQuery("ul.countries ." + jQuery(this).val() ).css("display", "block")        
}

更新的 fiddle : http://jsfiddle.net/seqL2cfo/1/

关于javascript - jQuery 链式选择菜单的简单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27420004/

相关文章:

javascript - 重定向同一组件时不会调用 Vuejs 钩子(Hook)

javascript - JwPlayer api注入(inject) "repeat"选项

javascript - 如何知道 DOM 元素是否在 jquery 范围内?

jquery - ( 'click.something' , function() {..}); 上的含义是什么在jquery中?

javascript - 如何使用 javascript 从图像 URL 获取 Blob 数据

javascript - 如何使用标题和标签更好地格式化我的 HTML 表

javascript - 使用 NodeJS 和 Express 获取 Promise { <pending> }

javascript - 如何打开包含浏览器信息的页面?

javascript - 如何让javascript slider 自动滑动

即使我删除类名,Jquery 元素悬停仍然有效