2

我有两个下拉列表,分别是项目 2 和 6。当我选择第一个下拉项目时,第二个中的项目列表将为 6,当我在第一个下拉列表中选择其他值时,第二个下拉列表中的项目列表应为 5,

请在此处找到代码:

<select id="firstdropdown">
    <option value="1">Test</option>
    <option value="2">Testing</option>
</select>
<select id="seconddropdown">
    <option value="1">test1</option>
    <option value="2">test2</option>
    <option value="3">test3</option>
    <option value="4">test4</option>
    <option value="5">test5</option>
    <option value="6">test6</option>
</select>

谁能建议我在 jquery 或 javascript 中的解决方案?

4

4 回答 4

6

你可以这样做,我假设你想显示/隐藏last项目。您可以通过给它更改为您想要的index

现场演示

$('#firstdropdown').change(function(){
    if($(this).val() == "2")
        $('#seconddropdown option:eq(5)').hide();
    else
        $('#seconddropdown option:eq(5)').show();
});​
于 2012-12-14T10:18:26.297 回答
2

据我了解,您正在删除第一个下拉选项的第二个选项的项目

 $("#firstdropdown").change(function() {
    if(this.value === "2") $("#seconddropdown option:last").remove();
    //here you are just removing last item    
})
于 2012-12-14T10:18:45.917 回答
0

像这样的东西:

$("#firstdropdown").change(function() {
    if(this.value === "1") $("#seconddropdown").val("6");
    else $("#seconddropdown").val("5");
})

编辑:添加了一个 jsfiddle:http: //jsfiddle.net/scaillerie/WGhLA/

于 2012-12-14T10:17:29.170 回答
0

如果你需要隐藏下拉列表中的任何项目,你只需要改变'eq'的索引

 $('#firstdropdown').change(function(){
     if($(this).val() == "2")
        $('#seconddropdown option:eq(3)').hide(); // change the index of 'eq' 
     else
        $('#seconddropdown option:eq(3)').show();
  });​
于 2012-12-14T11:24:49.137 回答