0

.on我有下面给出的代码。我试图使用 jQuery 的函数使它工作。但这似乎不起作用。我要做的基本上是在所需元素上按 onclick,每次我在 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>
4

2 回答 2

2

Code can be simplified to :

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

If you still have the same problem, then it is likely that one or more of the click actions affects/replaces the select element or its change handler.

于 2012-11-24T07:00:50.410 回答
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/

于 2012-11-24T06:55:15.510 回答