使用javascript链接2下拉列表
我想有两个下拉菜单的链接,使第二个下拉菜单只显示与第一个下拉菜单匹配的值的选项 这是我的html使用javascript链接2下拉列表,javascript,jquery,html-select,Javascript,Jquery,Html Select,我想有两个下拉菜单的链接,使第二个下拉菜单只显示与第一个下拉菜单匹配的值的选项 这是我的html <select class="form-control" id="color"> <option value=""> choose options </option> <option value="27">Blomme</option> <opti
<select class="form-control" id="color">
<option value=""> choose options </option>
<option value="27">Blomme</option>
<option value="26">Grøn</option>
<option value="28">Syren</option>
</select>
<select class="form-control" id="size">
<option value=""> choose options </option>
<option value="27">XL </option>
<option value="26">L</option>
<option value="26">L</option>
<option value="26">L</option>
<option value="28">S</option>
</select>
选择选项
布洛姆
格伦
塞伦
选择选项
特大号
L
L
L
s
我已经试过了,但我无法让它工作:/
更新:
有了这个插件,我的代码是:
<select class="form-control" id="color">
<option value=""> choose options </option>
<option value="27">Blomme</option>
<option value="26">Grøn</option>
<option value="28">Syren</option>
</select>
<select class="form-control" id="size">
<option value=""> choose options </option>
<option class="27" value="27">XL</option>
<option class="26" value="26">L</option>
<option class="26" value="26">L</option>
<option class="26" value="26">L</option>
<option class="28" value="28">S</option>
</select>
<script type="text/javascript">
$('#size').chainedTo('#color');
</script>
选择选项
布洛姆
格伦
塞伦
选择选项
特大号
L
L
L
s
$('大小')。链接到('颜色');
Html:
演示:
您需要为第二个
值应用class=value
。检查
选择选项
布洛姆
格伦
塞伦
选择选项
特大号
L
L
L
s
HTML>
<select class="form-control" id="color">
<option value=""> choose options </option>
<option value="27">Blomme</option>
<option value="26">Grøn</option>
<option value="28">Syren</option>
</select>
<select class="form-control" id="size">
<option value=""> choose options </option>
<option value="27">XL </option>
<option value="26">L</option>
<option value="26">L</option>
<option value="26">L</option>
<option value="28">S</option>
</select>
<select class="form-control" id="color">
<option value=""> choose options </option>
<option value="27">Blomme</option>
<option value="26">Grøn</option>
<option value="28">Syren</option>
</select>
<select class="form-control" id="size">
<option value=""> choose options </option>
<option value="27">XL </option>
<option value="26">L</option>
<option value="26">L</option>
<option value="26">L</option>
<option value="28">S</option>
</select>
你能试试这个吗
$('#color').change(function() {
var opt1 = this.value;
$('#size').children('option').each(function () {
if(this.value != opt1 && this.value != "")
{
this.remove();
}
});
});
1000%工作
HTML>
它可以帮助你
$("#color").change(function(){
var selected_value = $(this).val();
$('#size option').each(function() {
var vl = $(this).val();
if(vl == selected_value){
$(this).show();
} else{
$(this).hide();
}
});
});
为什么不向我们展示一下你的插件呢?也许我们可以回答为什么它对你不起作用…第二个列表中的类属性缺少引号这在IE中不起作用,如果您选择第二个下拉菜单并使用键盘上的箭头键,您仍然可以选择未显示的选项。是的,否则这会更好,因为它不需要pluginI编写另一个Answer尝试…工作正常@user3464204i忘记了$(function(){$(“#size”).chained(#color”)});
$("#color").change(function(){
$("#size option").css({"display":"block"});
var val=$("#color").find(":selected").val();
$("#size option[value!="+val+"]").css({"display":"none"});
});
$('#color').change(function() {
var opt1 = this.value;
$('#size').children('option').each(function () {
if(this.value != opt1 && this.value != "")
{
this.remove();
}
});
});
<select class="form-control" id="color">
<option value=""> choose options </option>
<option value="27">Blomme</option>
<option value="26">Grøn</option>
<option value="28">Syren</option>
</select>
<select class="form-control" id="size">
<option value=""> choose options </option>
<option value="27">XL </option>
<option value="26">L</option>
<option value="26">L</option>
<option value="26">L</option>
<option value="28">S</option>
</select>
$alloption=$("#size").html();
$("#color").change(function(){
$("#size").html($alloption);
var val=$("#color").find(":selected").val();
$("#size option[value!="+val+"]").remove();
});
$("#color").change(function(){
var selected_value = $(this).val();
$('#size option').each(function() {
var vl = $(this).val();
if(vl == selected_value){
$(this).show();
} else{
$(this).hide();
}
});
});