在下拉菜单中选择jquery目标选项

问题描述:

<select id="dropdown"> 
    <option value="200" selected>AMD Athlon 7x</option> 
    <option value="300">Core i7</option> 
    <option value="400">Core i5</option> 
</select> 
<select id="dropdown"> 
    <option value="250" selected>GTX 560 ti</option> 
    <option value="350">GRX 680</option> 
    <option value="40">ATI 6870</option> 
</select> 

Im计算最终产品基于选定值的价格。在下拉菜单中选择jquery目标选项

$('select').change(function() { 
}); 

我需要这个功能来删除选定的属性,并将其分配给所选的选项,但我不知道如何针对新选择的选项。

+0

难道不是不知道下拉菜单默认是如何工作的? – 2013-03-14 14:55:59

$('select').change(function() { 
    $(this).children(':selected').attr('selected', true); 
}); 

但我不明白为什么你需要这个:)

像这样:

$('select :selected').change(function(){ 
    //more code 
}); 
+0

哦,是的,我忘了 – 2013-03-14 14:59:42

抢所选的选项,你的下拉列表中首先应该具有唯一的ID

<select id="dropdown1"> 
    <option value="200" selected>AMD Athlon 7x</option> 
    <option value="300">Core i7</option> 
    <option value="400">Core i5</option> 
</select> 
<select id="dropdown2"> 
    <option value="250" selected>GTX 560 ti</option> 
    <option value="350">GRX 680</option> 
    <option value="40">ATI 6870</option> 
</select> 

$("#dropdown1 option:selected"); 

现在,这么说,你的下拉菜单将改变首降自动为您选择下拉选项。

另外,如果你想抓住所选选项的值时,它被选中,使用.VAL()

$('select :selected').change(function(){ 
    $("#dropdown1 option:selected").val(); 
}); 

上面的例子有一个语法错误。以下是不正确的(我试了一下,它不工作):

$('select :selected').change(function(){ 

下面是从jQuery网站示例代码(我想它也和它的工作):

<select name="garden" multiple="multiple"> 
    <option>Flowers</option> 
    <option selected="selected">Shrubs</option> 
    <option>Trees</option> 
    <option selected="selected">Bushes</option> 
    <option>Grass</option> 
    <option>Dirt</option> 
</select> 
/* ... */ 
<script> 
$("select").change(function() { // <<<<< this is the correct syntax 
    var str = ""; 
    $("select option:selected").each(function() { 
    str += $(this).text() + " "; 
    }); 
}) 
</script>