Tampermonkey select 具有名称的下拉值
Tampermonkey select a dropdown value with name
我希望 Tampermonkey 将 select 下拉列表更改为特定国家/地区。 HTML 的格式类似于;
<label>Country</label>
<span class="select_wrapper">
<select name="shipping_country_id">
<option value="46">Afghanistan</option>
<option value="47">Albania</option>
<option value="42">United Kingdom</option>
<option value="43" selected="">United States</option>
</select>
<span class="value">United States</span>
</span>
我试过了;
("select[name='shipping_country_id'] option[value='42']", clickNode, true);
和
(document.querySelector && document.querySelector('select[name="shipping_country_id"]') || []).value = '42';
看完后
我尝试使用该答案中使用的相同方法;
waitForKeyElements ("shipping_country_id:has(option[value='42'])", selectCountryDropdown);
function selectCountryDropdown (jNode) {
var evt = new Event ("click");
jNode[0].dispatchEvent (evt);
jNode.val('42');
evt = new Event ("change");
jNode[0].dispatchEvent (evt);
}
我是漏掉了什么还是尝试了错误的东西?
我通过使用与问题中最后一个帖子类似的方法使它工作,只是一个语法错误。
waitForKeyElements ("select[name=shipping_country_id]:has(option[value=42])", selectCountryDropdown);
function selectCountryDropdown (jNode) {
var evt = new Event ("click");
jNode[0].dispatchEvent (evt);
jNode.val('42');
evt = new Event ("change");
jNode[0].dispatchEvent (evt);
}
我希望 Tampermonkey 将 select 下拉列表更改为特定国家/地区。 HTML 的格式类似于;
<label>Country</label>
<span class="select_wrapper">
<select name="shipping_country_id">
<option value="46">Afghanistan</option>
<option value="47">Albania</option>
<option value="42">United Kingdom</option>
<option value="43" selected="">United States</option>
</select>
<span class="value">United States</span>
</span>
我试过了;
("select[name='shipping_country_id'] option[value='42']", clickNode, true);
和
(document.querySelector && document.querySelector('select[name="shipping_country_id"]') || []).value = '42';
看完后
waitForKeyElements ("shipping_country_id:has(option[value='42'])", selectCountryDropdown);
function selectCountryDropdown (jNode) {
var evt = new Event ("click");
jNode[0].dispatchEvent (evt);
jNode.val('42');
evt = new Event ("change");
jNode[0].dispatchEvent (evt);
}
我是漏掉了什么还是尝试了错误的东西?
我通过使用与问题中最后一个帖子类似的方法使它工作,只是一个语法错误。
waitForKeyElements ("select[name=shipping_country_id]:has(option[value=42])", selectCountryDropdown);
function selectCountryDropdown (jNode) {
var evt = new Event ("click");
jNode[0].dispatchEvent (evt);
jNode.val('42');
evt = new Event ("change");
jNode[0].dispatchEvent (evt);
}