我有下面给出的代码。我试图使用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();
}
});
其中orderby
是id
元素的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>
答案 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/