我正在尝试使用'.each'jquery函数在选项元素上循环来模拟点击。
但是,这个select有一个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'
答案 0 :(得分:0)
$('#selectItem').children().each(function( index ) {
$( this ).attr('selected', 'selected').parent().focus();
$( this ).parent().change();
myFunction();
});
function myFunction(){
console.log( $('#inputToWatch').val() );
}
如果我理解正确,myFunction()
将在最后两次操作之后被调用。