将triggerHandler()与第二个select元素一起使用

时间:2013-11-26 03:57:55

标签: jquery

我正在尝试自动填充页面中的表单。表单包含多个选择元素(和其他元素),但没有任何元素的ID或名称。因此,我使用他们的标签获取所有元素,然后根据其索引修改元素。像这样......

var $control = $('select');  
$control[index].value = 'Yes';  
$control.triggerHandler('change'); //Triggers the event for first select only  
$control[index].triggerHandler('change'); //Error that the object does not have triggerHandler method  

我现在面临的问题是,一些选择附加了事件。这些需要在更改值后立即执行,以便显示其他表单域。使用triggerHandler()方法适用于第一个select元素。如果我知道索引,如何让它为第N个选择工作?或者,是否有任何替代方法将触发与特定选择元素关联的事件?我是jQuery的新手。搜索过以前的SO问题但找不到任何东西..

1 个答案:

答案 0 :(得分:2)

使用.eq()按索引

获取select元素
$control.eq(index).triggerHandler('change');

var $control = $('select');  
$control.eq(index).val('Yes').triggerHandler('change');