模拟单击选项并等待更改事件完成
simulate click on option and wait for change event to finish
我正在尝试通过对选项元素使用".each"jquery函数循环来模拟点击。
但是,此选择具有关联的onchange
函数,该函数更改另一个输入的值。
这是我到目前为止的代码:
$('#selectItem').on('change', function() {
console.log( $('#inputToWatch').val() );
});
$('#selectItem').children().each(function( index ) {
$( this ).attr('selected', 'selected').parent().focus();
$( this ).parent().change();
});
/*I also tried this way
$('#selectItem').children().each(function( index ) {
$( this ).attr('selected', 'selected').parent().focus();
setTimeout(function(){ $( this ).parent().change(); }, 3000);
console.log( index + ": " + $('#inputToWatch').val() );
});
*/
html看起来像
<select id="selectItem" onchange="changeFunc(this)">
<option value="option1" selected="selected">option1</option>
<option value="option2" selected="selected">option2</option>
<option value="option3" selected="selected">option3</option>
<option value="option4" selected="selected">option4</option>
</select>
我无法让 jquery 等到'changeFunc'
结束才能记录'#inputToWatch'
值
$('#selectItem').children().each(function( index ) {
$( this ).attr('selected', 'selected').parent().focus();
$( this ).parent().change();
myFunction();
});
function myFunction(){
console.log( $('#inputToWatch').val() );
}
如果我理解正确,最后将在其他 2 个操作之后调用myFunction()
。
相关文章:
- Chrome 扩展程序会等待设置加载到事件处理程序中
- iFrame.load事件未等待预加载图像完成
- 如何等待单击事件完成
- 如何创建一个等待来自另一个模板的onRendered事件的方法
- 使用Angular Directive用$scope属性更新DOM-只要指令运行(无需等待事件)
- 正在等待服务器上发生事件
- HTML5视频-等待事件未启动
- 如何等待 Node.js 中的下一个事件
- JavaScript:从javascript加载图像,然后等待该图像的“load”事件
- iframe 加载事件中的 setTimeout 似乎没有像预期的那样等待 x 秒
- nodeJS 等待无法承诺的事件
- 模拟单击选项并等待更改事件完成
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 我怎么能等待在javascript中执行事件
- 在触发事件之前等待用户确认
- 等待用户事件
- CasperJs then() 是否等待上一个函数中发出的事件
- 是否可以让其他 javascript 事件侦听器等待异步事件
- jQuery事件等待数据加载到页面中
- JavaScript对话框弹出事件等待OK被按下