【发布时间】:2019-10-12 00:35:42
【问题描述】:
我正在尝试使用 chrome 扩展自动填充三个下拉选择元素。我可以更改第一个下拉列表的值,但这不会触发 onchange 事件中的检票口。 wicket 应该根据第一个选择加载第二个和第三个下拉列表。我在这里错过了什么。
可以用
改变第一个选择的值( "select:first-of-type" ).val( "2" );
尝试触发 on 更改,
$( "select:first-of-type" ).change();
$( "select:first-of-type" ).trigger('change');
$( "select:first-of-type" ).triggerHandler('change');
$( "select:first-of-type" ).trigger('onchange');
$( "select:first-of-type" ).triggerHandler('onchange');
等等等等这些都没有填充第二个和第三个选择。
<div id="new-criteria">
<select name="tabContent:contentPanel:searchCriteriaPanel:newSearchCriteria:searchFie
ldDropDown" id="id62a9" onchange="if (function(){return
Wicket.$('id62a9') != null;}.bind(this)()) {
Wicket.showIncrementally('veil');}var
wcall=wicketAjaxPost('https://www.example.com?1343-
2.IBehaviorListener.0-tabContent-contentPanel-searchCriteriaPanel-
newSearchCriteria-searchFieldDropDown',
wicketSerialize(Wicket.$('id62a9')),function() {
;Wicket.hideIncrementally('veil');}.bind(this),function() {
;Wicket.hideIncrementally('veil');}.bind(this), function() {if
(!function() {return Wicket.$('id62a9') != null;}.bind(this)())
{Wicket.hideIncrementally('veil');}return
Wicket.$('id62a9') != null;}.bind(this));">
<option selected="selected" value="">Choose One</option>
<option value="0">Opperation</option>
<option value="1">Selection</option>
<option value="2">Category</option>
</select>
<select name="tabContent:contentPanel:searchCriteriaPanel:newSearchCriteria:operatorDropDown" disabled="disabled">
<option selected="selected" value="">Choose One</option>
</select>
<span class="value">
<input type="text" value="" name="tabContent:contentPanel:searchCriteriaPanel:newSearchCriteria:value:valueField" disabled="disabled"/>
</span>
更改第一个值,但不填充其他 2 个
【问题讨论】:
-
使用纯DOM事件:$('select:first-of-type')[0].dispatchEvent(new Event('change', {bubbles: true}))
-
运气不好只是刷新页面
标签: jquery html google-chrome-extension automation wicket