2012-12-18 33 views
1

选择组合框我有三个选择:选择使用jQuery

<div id ="Xcombos" class = "styled-select"> 
    <select id="combopie" class="Xcombo" style="display:none;"> 
    <option value="gender">Gender</option> 
    <option value="age">Age</option> 
    </select> 
    <select id="combobar" class="Xcombo" style="display:none;"> 
    <option value="date">Date</option> 
    <option value="age">Age</option> 
    </select> 
    <select id="comboline" class="Xcombo" style="display:none;"> 
    <option value="date">Date</option> 
    </select> 
</div> 

用户应该只选择这5 options values(性别,年龄,日期,年龄,日期)

一个我所用这个:

var Xcombo_values = $('#Xcombos .Xcombo').val() 

但是这只给了我第一个值select

怎么能抢我选择的选项的值?

干杯

更新:

电台:

<input type="radio" name="tipo" id="pie" value="pie" /><label for="pie"> 
<input type="radio" name="tipo" id="bar" value="bar" /><label for="bar"> 
<input type="radio" name="tipo" id="line" value="line" /><label for="line"> 

$(function() { 
    $('input[type=\'radio\']').click(function() { 
     $('select.Xcombo').hide(); 
     $('#combo' + $(this).attr('id')).show(); 
    }); 
}); 
+0

'$(“#Xcombos .Xcombo option”).val()'? –

+0

@ExplosionPills,没有它的不工作,它继续选择相同的第一个选项,“性别” – user1148875

+0

那么,下一个是不是选择,所以你如何期待它的工作。它们也是隐藏的,所以您需要先显示下拉菜单,以便选择其他内容,然后将函数绑定到更改事件等。 – adeneo

回答

0

一样简单:

var selected = $('#combopie option:selected').val(); 

您可以在此拨弄玩耍:

http://jsfiddle.net/EnWvN/

编辑

如果要检索每个选择的选项中进行选择:

var select_values = [], 
    sel_val; 

$('.Xcombo').each(function() { 
    sel_val = $(this).children(':selected').val(); 
    select_values.push(sel_val); 
}); 

http://jsfiddle.net/EnWvN/4/

(在示例中,我将代码绑定到change事件。有关你的是什么被激发,而不是如何)

并得到无线电的价值,几乎是相同的。只需使用以下来获取每个值:

$("#the_id_of_your_form input[name='the_name_of_your_radio']:checked").val(); 
+0

但我的选择不是唯一的combopie。 – user1148875

+0

是的,但检索每个选项的方法是相同的。剩下的只是收集你想要的信息。我会更新答案。一探究竟。 – bgusach

+0

对它有帮助吗?如果你希望人们将来继续帮助你,你应该选择一个正确的答案。 – bgusach

2
$(function() { 
    $('input[type="radio"]').on('click', function() { 
     $('select.Xcombo').hide(); 
     var comboSelected = $('[name="tipo"]').filter(':checked').val(); 
     $('#combo' + comboSelected).show(); 
    }); 
}); 

FIDDLE

+0

它看起来是一些带有一个问题,鼠标悬停或点击似乎有些还挺混乱 – user1148875

+0

IM使用你的代码,但其不工作做......我需要一个varibale存储所选择的选项值,例如:comboSelected =“年龄” – user1148875

+0

@ user1148875 - 编辑了使用变量的答案,因为我不确定你的意思? – adeneo