Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用jquery或javascript的条件dropdownlist_Javascript_Jquery_Drop Down Menu - Fatal编程技术网

仅使用jquery或javascript的条件dropdownlist

仅使用jquery或javascript的条件dropdownlist,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,仅使用jquery或javascript的条件dropdownlist 场景:我有一个主下拉列表,如果我在下拉列表上选择“dropdownmain1”,它将显示“dropdownmain1”对应的下拉列表值 <select name="dropdownmain" id="" title=""> <option value="dropdownmain1">dropdownmain1</option> <option value="dropd

仅使用jquery或javascript的条件dropdownlist

场景:我有一个主下拉列表,如果我在下拉列表上选择“dropdownmain1”,它将显示“dropdownmain1”对应的下拉列表值

<select name="dropdownmain" id="" title="">
    <option value="dropdownmain1">dropdownmain1</option>
    <option value="dropdownmain2">dropdownmain2</option>
    <option value="dropdownmain3">dropdownmain3</option>
    <option value="dropdownmain4">dropdownmain4</option>
</select>



//if selected dropdownmain1 this dropdown will display
<select name="dropdownmain1" id="" title="">
    <option value="dropdownmain1-submenu1">dropdownmain1-submenu1</option>
    <option value="dropdownmain1-submenu2">dropdownmain1-submenu2</option>
    <option value="dropdownmain1-submenu3">dropdownmain1-submenu3</option>
    <option value="dropdownmain1-submenu4">dropdownmain1-submenu4</option>
</select>

//if selected dropdownmain2 this dropdown will display
<select name="dropdownmain2" id="" title="">
    <option value="dropdownmain2-submenu1">dropdownmain2-submenu1</option>
    <option value="dropdownmain2-submenu2">dropdownmain2-submenu2</option>
    <option value="dropdownmain2-submenu3">dropdownmain2-submenu3</option>
    <option value="dropdownmain2-submenu4">dropdownmain2-submenu4</option>
</select>

//if selected dropdownmain3 this dropdown will display
<select name="dropdownmain3" id="" title="">
    <option value="dropdownmain3-submenu1">dropdownmain3-submenu1</option>
    <option value="dropdownmain3-submenu2">dropdownmain3-submenu2</option>
    <option value="dropdownmain3-submenu3">dropdownmain3-submenu3</option>
    <option value="dropdownmain3-submenu4">dropdownmain3-submenu4</option>
</select>

//if selected dropdownmain4 this dropdown will display
<select name="dropdownmain4" id="" title="">
    <option value="dropdownmain4-submenu1">dropdownmain4-submenu1</option>
    <option value="dropdownmain4-submenu2">dropdownmain4-submenu2</option>
    <option value="dropdownmain4-submenu3">dropdownmain4-submenu3</option>
    <option value="dropdownmain4-submenu4">dropdownmain4-submenu4</option>
</select>

下拉菜单1
下拉菜单2
下拉菜单3
下拉菜单4
//如果选择了dropdownmain1,将显示此下拉列表
下拉菜单Main1-子菜单1
下拉菜单main 1-子菜单2
下拉菜单main 1-子菜单3
下拉菜单main 1-子菜单4
//如果选择DropDownMain 2,将显示此下拉列表
下拉菜单2-子菜单1
下拉菜单Main2-子菜单2
下拉菜单main 2-子菜单3
下拉菜单main 2-子菜单4
//如果选择了dropdownmain3,将显示此下拉列表
下拉菜单main 3-子菜单1
下拉菜单main 3-子菜单2
下拉菜单main 3-子菜单3
下拉菜单main 3-子菜单4
//如果选择了dropdownmain4,将显示此下拉列表
下拉菜单main 4-子菜单1
下拉菜单main 4-子菜单2
下拉菜单main 4-子菜单3
下拉菜单main 4-子菜单4

这是否可以仅使用jquery或javascript实现?

是的,使用jquery可以轻松实现

$('select[name!="dropdownmain"]').hide();
$('select[name="' + $('select[name="dropdownmain"]').val() + '"]').show();
$('select[name="dropdownmain"]').change(function(){
    $('select[name!="dropdownmain"]').hide();
    $('select[name="' + $(this).val() + '"]').show();
});

以及更具可读性的方法:

var $topSelect = $('select[name="dropdownmain"]');
var $nestedSelects = $('select[name!="dropdownmain"]');
showApplicableSelect();
$topSelect.change(showApplicableSelect);
function showApplicableSelect() {
    $nestedSelects.hide();
    $('select[name="' + $topSelect.val() + '"]').show();
}

是的,您可以使用jquery轻松完成

$('select[name!="dropdownmain"]').hide();
$('select[name="' + $('select[name="dropdownmain"]').val() + '"]').show();
$('select[name="dropdownmain"]').change(function(){
    $('select[name!="dropdownmain"]').hide();
    $('select[name="' + $(this).val() + '"]').show();
});

以及更具可读性的方法:

var $topSelect = $('select[name="dropdownmain"]');
var $nestedSelects = $('select[name!="dropdownmain"]');
showApplicableSelect();
$topSelect.change(showApplicableSelect);
function showApplicableSelect() {
    $nestedSelects.hide();
    $('select[name="' + $topSelect.val() + '"]').show();
}

使用jquery或纯javascript似乎非常简单。你有什么问题吗?如果是这样的话,你能发布你的代码吗。你有什么问题吗?如果是这样的话,你能发布你的代码吗