我有一个问题。我想在我的网页上做这样的事情: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。我有一个选择框,其中的选项取决于第一个框,所以如果我选择在第一个框选项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取决于这两个。所以它应该是IF选项从#firstbox = 1,和secondbox=2 #链接是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>