猿问

使用jQuery根据第一个选择列表选项更改第二个选择列表

使用jQuery根据第一个选择列表选项更改第二个选择列表

我有两个选择:

<select name="select1" id="select1">
    <option value="1">Fruit</option>
    <option value="2">Animal</option>
    <option value="3">Bird</option>
    <option value="4">Car</option></select><select name="select2" id="select2">
    <option value="1">Banana</option>
    <option value="1">Apple</option>
    <option value="1">Orange</option>
    <option value="2">Wolf</option>
    <option value="2">Fox</option>
    <option value="2">Bear</option>
    <option value="3">Eagle</option>
    <option value="3">Hawk</option>
    <option value="4">BWM<option></select>

如果我在第一个选择中选择了果树,那么如何使用jQuery呢?第二个选择只给我看水果-香蕉,苹果,橘子。如果我在第一个选择中选择鸟,第二个选择将只显示鸟-鹰,鹰。以此类推.。

我试着用这段jQuery代码来完成这个任务:

$("#select1").change(function() {
    var id = $(this).val();
    $('#select2 option[value!='+id+']').remove();});

不幸的是,它消除了几乎所有的东西,我不知道如何带回一些选择。我也读过一些关于克隆的东西,但我不知道如何在这个例子中使用它。



陪伴而非守候
浏览 464回答 3
3回答

慕少森

全部储存#select2变量中的选项,根据#select1,并将其设置为.html()在……里面#select2:var&nbsp;$select1&nbsp;=&nbsp;$(&nbsp;'#select1'&nbsp;), &nbsp;&nbsp;&nbsp;&nbsp;$select2&nbsp;=&nbsp;$(&nbsp;'#select2'&nbsp;), &nbsp;&nbsp;&nbsp;&nbsp;$options&nbsp;=&nbsp;$select2.find(&nbsp;'option'&nbsp;);$select1.on('change',&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$select2.html($options.filter('[value="'&nbsp;+&nbsp;this.value&nbsp;+&nbsp;'"]'));}).trigger('change');这里有把小提琴
随时随地看视频慕课网APP

相关分类

JQuery
我要回答