我正在尝试自动填充页面中的表单。表单包含多个选择元素(和其他元素),但没有任何元素的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问题但找不到任何东西..
答案 0 :(得分:2)
使用.eq()按索引
获取select元素$control.eq(index).triggerHandler('change');
像
var $control = $('select');
$control.eq(index).val('Yes').triggerHandler('change');