繁体   English   中英

Javascript SELECT BOX选项取决于所选的其他SELECT BOX选项

[英]Javascript SELECT BOX options dependent on other SELECT BOX option selected

我有个问题。 我想在我的网页上做以下事情:1.我有这样的选择框

 <select name="firstbox" id="#firstbox">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>  

2.我有一个选择框,其选项取决于第一个框,因此,如果我在第一个框中选择Option 1,我将这样说:

 <select name="secondbox" id="#secondbox">
    <option value="4">Option 4</option>
    <option value="5">Option 5</option>
</select>  

如果我选择选项2,我会说

<select name="secondbox" id="#secondbox">
    <option value="8">Option 8</option>
    <option value="9">Option 9</option>
</select>

在基于这两个选择框的添加中,我需要一个链接,该链接会根据这两个链接更改url。 因此,这将是#firstbox = 1的IF选项,而secondbox = 2的#link是first.html

<a href="first.html" id="link" >Show </a>

我不知道它是否可以在javascript中使用,还是用PHP和小型数据库使其更佳,更流畅...但是我仍然不知道在那种情况下如何更改该按钮的链接...希望有人有一个主意。

另外,如果您选择使用jQuery,则当然可以使用onchange事件。 但是首先,您需要设置一个简单的默认值,其中,这取决于您选择的内容。 考虑以下示例:

<select name="firstbox" id="firstbox" style="width: 100px;">
    <option disabled selected>Select Value</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>
<div id="select_boxes"></div>
<div id="link"></div>

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

var default_values = {
    "1": {"label": "first","values": [4,5]},
    "2": {"label": "second","values": [8,9]},
    "3": {"label": "third","values": [6,7]}
};

$(document).ready(function(){

    $('#firstbox').on('change', function(){
        var current = $(this).val();
        $('#select_boxes').html('<select name="secondbox" id="secondbox" style="width: 100px;"></select>');
        var options = '';
        $.each(default_values[current].values, function(index, values){
            options += '<option value="'+values+'">Option '+values+'</option>'; // fetch options
        });
        $('#secondbox').html(options); // add options
        $('#link').html('<a href="'+default_values[current].label+'.html" id="link">show</a>');
    });

});
</script>

样本输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM