尝试获取2中的值选择下拉列表不能按预期工作

时间:2013-11-12 13:28:13

标签: jquery html

我有两个具有相同类和不同id的选择。其中一个是隐藏的,但是当我尝试获取值时,我只得到第一个选择我所选择的值的值。请帮助。

HTML

        <input id="marcas" name="tipoSearch" type="radio" onclick="opcionSearch(this.id)"><span id="spanmarcas" class="spancat">por Marcas</span>
        <input id="categorias" name="tipoSearch" type="radio" onclick="opcionSearch(this.id)"><span id="spancategorias" class="spancat">por Categor&iacute;as</span>
        <select id="selmarcas" class="selbuscar" style="display:none;"></select>
        <select id="selcategorias" class="selbuscar" style="display:none;"></select>
        <input id="butBuscar" type="button" value="Buscar" disabled="disabled"/>

JAVASCRIPT

function opcionSearch(opcion){
    document.getElementById('butBuscar').disabled=false;
    if(opcion=='marcas'){
        $('input[name=tipoSearch]').show();
        $('.selbuscar').prop('disabled', true); 
        $('.selbuscar').hide();
        $('.spancat').show();
        $('#'+opcion).hide();
        $('#span'+opcion).hide();
        $('#sel'+opcion).show();
        $('#sel'+opcion).prop('disabled', false);            
    }
    else{
        $('input[name=tipoSearch]').show();
        $('.selbuscar').prop('disabled', true); 
        $('.selbuscar').hide();
        $('.spancat').show();
        $('#'+opcion).hide();
        $('#span'+opcion).hide();
        $('#sel'+opcion).show();
        $('#sel'+opcion).prop('disabled', false);
    }
}

$('#butBuscar').click(function(){

        var value = $('.selbuscar').val();
        alert(value)

}); 

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$('#butBuscar').click(function () {
    $('.selbuscar').each(function () {
        var value = $(this).val();
        alert(value)
    });
});

您可以遍历所有selbuscar下拉列表,然后获取每个下拉列表的选定值。

<强>更新

要获取已启用下拉列表的值,您可以执行以下操作:

$('#butBuscar').click(function () {
     var value = $('.selbuscar:enabled').val();
     alert(value);
});

答案 1 :(得分:0)

$("select[class^='selbuscar']").click(function(){
    var value = $(this).val();
    alert(value);
});