jQuery HTML select binded to click只能工作一次

时间:2012-11-24 06:48:14

标签: jquery html

我有下面给出的代码。我试图使用jQuery的.on函数使其工作。但它似乎没有用。我想要做的基本上是每次在HTML选择上选择一个选项时按下所需元素。它只在第一次工作

$('#orderby').on('change',function() {
    var orderbyOption = $('#orderby option:selected').val()

    if (orderbyOption == "proyecto"){
        $('#proyectoOrder').click();
    }

    if (orderbyOption == "ano"){
        $('#anoOrder').click();
    }

    if (orderbyOption == "tipo"){
        $('#tipoOrder').click();
    }
});

其中orderbyid元素的select

<select id="orderby" style="float: left; left: 360px; padding-top: 2px; position: absolute; text-align: left; top: 6px;">
    <option value="projecto">projecto</option>
    <option value="ano">ano</option>
    <option value="tipo">tipo</option>
</select>

2 个答案:

答案 0 :(得分:2)

代码可以简化为:

$('#orderby').on('change', function() {
    $('#' + $(this).val() + 'Order').click();
});

如果您仍然遇到同样的问题,那么一个或多个点击操作可能会影响/替换select元素或其更改处理程序。

答案 1 :(得分:1)

以下是如何简化代码:

$('#orderby').on('change',function() {
    var orderbyOption = $(this).val()
    $('#'+orderbyOption+'Order').trigger('click');
    console.log('#'+orderbyOption+'Order'); // To check the id
});​

您可以在此处尝试有效的解决方案:http://jsfiddle.net/uy4rx/